Zum Inhalt springen

Sonderzeichen umbenennen


Empfohlene Beiträge

Geschrieben

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

Geschrieben
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 :)

Geschrieben

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

Geschrieben

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?

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...