PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sonderzeichen in dateinamen > umbenennen



ccm
29.09.2003, 17:25
hallo zusammen...
ich hab hier ein kleines problem mit sonderzeichen auf dem server, die dann nicht mehr korrekt per samba auf einen winrechner übertragen werden! also hab ich mich entschlossen, ein script zu schreiben, dass alle sonderzeichen ersetzt!

als nächstes hab ich dann mit "find ... -exec" und "sed" rumgespielt
dummerweise hab ich's nicht wirklich geschafft, dass die parameter dann alle richtig übergeben werden!

also was mach ich jetzt als shell-script neuling? ;)

jau. ein file mit dem inhalt
"SED= 'echo $* | sed "s.ä.ae.;s.ö.oe.;s.i..;s.ß.ss.;s.ü.ue.;s.\n.."'
mv "$i $sed";"
, das ich dann per "find /.... -type f -exec ./sonderzeichen {} \;" aufrufe.
jau. so schön so gut. dummerweise funktioniert die erste zeile in dem file nicht.
hier gibt's doch sicher ein paar freaks geben, die mir das erläutern können, oder?!? ;)

vielen dank schon mal im vorraus!
ccm

rup
29.09.2003, 17:58
z.B.:

SED:
echo "üben" |sed s/ü/ue/g

fuer einzelne Zeichen:
echo 'abc?def' | tr '?' '_'

ich hab mal ein Perl Skript zum umbenennen von Dateien geschrieben, wenn du willst kann ich es Dir als PM schicken.

ccm
29.09.2003, 18:05
hm. also sed hat mir schon immer das richtige ergebnis ausgegeben.
mich würd's jetzt rein aus sportsgeist interessieren, wie ich dann das ergebnis davon in die var bekomme! ;)
- um dann doch um dein script zu bitten! *g*

rup
29.09.2003, 21:41
x=$(echo "üben" |sed s/ü/ue/g)
oder
x=`echo "üben" |sed s/ü/ue/g` #Alte Syntax (Bourn Shell)

ccm
30.09.2003, 13:18
hallo. beide versuche haben mir jeweils immer nur ein "command nof found" beschert.
funktionieren tut'saber, wenn man ein echo -e macht!
vielen dank für deine hilfe!