es gibt ein problem mit diesem script. es findet als erstes den obersten ordner, benennt diesen um und ist dann nicht mehr in der lage eine ebene tiefer zu gehen um dort die ordner und datein umzubenennen, weil durch die umbenennung der pfad ungültig wird. außerdem funktioniert 'rename' bei mir nicht. ich habe es durch mv ersetzt. um das andere problem zu lösen habe ich das scrip ein wenig verändert:
Code:
#!/bin/bash
OLDIFS=$IFS
IFS=$'\n'
files=`find ./ -name "* *"`
for f in $files; do
new=`echo $f | sed "s| |_|g"`;
mv $f $new;
files=`find ./ -name "* *"`;
done
IFS=$OLDIFS
es mach t nun eigentlich alles was es soll, aber beim ausführen kommen trotzdem meldungen:
Code:
# ./replacer
mv: Aufruf von stat fÜr `./asd asd/qwe qweâ nicht möglich: Datei oder Verzeichnis nicht gefunden
mv: Aufruf von stat für `./asd asd/qwe qwe/a a.vmdk` nicht möglich: Datei oder Verzeichnis nicht gefunden
wie kann ich das interpretieren? ignorieren möchte ich es nicht.
Lesezeichen