Hallo Jens, Jens Wolfgarten schrieb:
Hallo Adalbert!
* On Mon, 10 Feb 2003 at 11:14 +0100, Jens Wolfgarten wrote:
Ich versuche vergeblich, mit folgendem Skript alle Leerzeichen in einigen Dateien zu eliminieren.
for alt in $(find . -type f); do neu="$(find . -type f | tr '[A-Z
]'
'[a-z_]')"; mv "$alt" "$neu"; done
Ohne mich da jetzt lange reindenken zu wollen - ich glaub, so funktioniert das nisch.
(untested) for alt in $(find . -type f -name '* *'); do mv "$alt" `echo $alt|sed 's, ,_,'`; done
mmv geht u.U. auch.
Leider nimmt er das nicht. Er hat Probleme bei dem "$alt". Gibt es noch eine andere Lösung?
Eigentlich sieht der Befehl gut aus - vielleicht hast du irgendwelche Anführungszeichen unterschlagen? Auf alle Fälle habe ich diesen Befehl hier getestet, einfach komplett kopieren (in eine einzige Zeile!) und sollte laufen: find . -type f -name '* *' -print | while read alt ; do neu=`echo "$alt" | sed 's/ /_/g'` ; mv "$alt" "$neu" ; done Es gibt hier allerdings noch ein Problem - du untersuchst nur Dateien, bist du sicher, daß es keine Verzeichnisnamen mit Leerzeichen gibt? In diesem Fall würden (alle bisherigen) Befehle scheitern, da das auch der Verzeichnisname geändert wird, ohne daß aber das Verzeichnis wirklich so heißt! Gruß Raimund