Zum Inhalt springen

Sonderzeichen umbenennen


shad0w

Empfohlene Beiträge

Hi,

ich hasse die umlaute und sonderzeichen der deutschen sprache ... :(

folgendes problem: ich hab ein paar dateien, die sonderzeichen wie ä, ö, ß u.s.w. enthalten. Nun moechte ich diese in ae, oe etc. umbenennen, sodass ich sie z.b. mit einem ftp client runterladen kann. Dazu hab ich ein programm namens 'rename' ... leider tut das aber nicht, da in meinem (utf-8) terminal nur ?? statt z.b. ä steht. :(

wie bekomm ich nun die sonderzeichen aus den namen raus?

Das ganze sollte recursiv arbeiten, d.h. dass saemtliche dateien und ordner einer hierarchie umbenannt werden.

Jemand ne idee??

danke schonmal

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von shad0w

Hi,

ich hasse die umlaute und sonderzeichen der deutschen sprache ... :(

folgendes problem: ich hab ein paar dateien, die sonderzeichen wie ä, ö, ß u.s.w. enthalten. Nun moechte ich diese in ae, oe etc. umbenennen, sodass ich sie z.b. mit einem ftp client runterladen kann. Dazu hab ich ein programm namens 'rename' ... leider tut das aber nicht, da in meinem (utf-8) terminal nur ?? statt z.b. ä steht. :(

wie bekomm ich nun die sonderzeichen aus den namen raus?

Das ganze sollte recursiv arbeiten, d.h. dass saemtliche dateien und ordner einer hierarchie umbenannt werden.

Jemand ne idee??

danke schonmal

Hi.

Eine kleine Lösungsalternative.

Du machst ein update ( locate - pacakge ).

Dann suchst du mit locate alle dateien mit sonderzeichen raus und schreibst diese in eine datei.

Dann liest du diese Datei aus und änderst die zeilenausgabe mit sed von sonderzeichen in "normalezeichen" um.

Und dann movest du die datei nur noch mit mv denn du hast ja schon den komplette pfad :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hier ein nicht getestest script, da ich zur zeit keine shell zur verfügung hab

 

#!/bin/bash


update


locate ä >> tem_zeich

locate ö >> tem_zeich

locate ü >> tem_zeich

locate ß >> tem_zeich


while read i

do

var=`sed $i s/ä/ae/g`


if [ $? != "0" ]; then

  var=`sed $i s/ö/oe/g`

fi

if [ $? != "0" ]; then

  var=`sed $i s/ü/ue/g`

fi

if [ $? != "0" ]; then

  var=`sed $i s/ß/ss/g`

fi

mv $i $var


done << tem_zeich


rm -f tem_zeich

Link zu diesem Kommentar
Auf anderen Seiten teilen

danke fuer die verbesserung, schlaubi. ;)

zu den scripten:

danke, aber es tut nicht. Das rename tool macht im prinzip nichts anderes, nur besser als locate/sed oder sonstwas und ist i.d.R. auch zuverlaessig. Das problem scheint eher an der umsetzung vom terminal (osx terminal, utf-8 encoding) zu der linux kiste (ssh zugang) zu sein.

Wenn ich das ganze per script loesen moechte und sonderzeichen schreibe kommt folgender fehler:

-bash: ./sc: cannot execute binary file

Liegt an den sonderzeichen. Ohne funtzt's, wird aber halt nix umbenannt.

noch jemand ne idee?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...