Hallo, Am Son, 04 Mär 2007, Al Bogner schrieb:
Am Samstag, 3. März 2007 22:47 schrieb David Haller:
Nimm
find ... | while IFS= read -r FILE; do ... ; done
Vielen Dank, wieder einmal! Es gibt im Netz einiges zu Leerzeichen durch "_" rekursiv ersetzen. Ich bin mir aber unsicher, was da passt. Hast du eine Empfehlung dafür? Sehe ich es falsch, dass man da bei obigem Konstrukt nur mit sed die Leerzeichen ersetzen muss oder ist auch an andere Dinge zu denken?
Ja, was machst du mit den Verzeichnissen mit Leerzeichen? Wann werden die umbenannt? Was machst du bei Namens-Kollisionen? Ansonsten geht's aber. Und besser ohne sed. do base="${FILE##*\/}" dir="${FILE%\/*}" new="${base// /_}" target="${dir}/${new}" # if test -e "${target}"; then # echo "Target already exists, skipping '$FILE'" >&2; # continue; # fi mv -i "$FILE" "${target}" done Bei base/dir/new kannst du auch basename, dirname und tr oder sed verwenden. base="$(basename "$FILE")" dir="$(dirname "$FILE")" new="$(echo "$base" | tr ' ' '_')" HTH, -dnh -- Hier ist d.a.g, also sind die uncodierten Zeichen genau wie willkürlich gesetzten Sig Trenner hier On-Topic. [Steffen H. Hillner in dag°] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org