shad0w Geschrieben 12. Oktober 2003 Teilen Geschrieben 12. Oktober 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
given_to_fly Geschrieben 12. Oktober 2003 Teilen Geschrieben 12. Oktober 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
given_to_fly Geschrieben 12. Oktober 2003 Teilen Geschrieben 12. Oktober 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 12. Oktober 2003 Teilen Geschrieben 12. Oktober 2003 updatedb statt update oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
given_to_fly Geschrieben 12. Oktober 2003 Teilen Geschrieben 12. Oktober 2003 Original geschrieben von Schlaubi updatedb statt update oder? stimmt :beagolisc Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shad0w Geschrieben 13. Oktober 2003 Autor Teilen Geschrieben 13. Oktober 2003 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.