Am Montag, 28. April 2008 12:01:09 schrieb Andre Tann:
Hallo zusammen,
ich möchte alle Dateien suchen, die ein & im Namen haben, und dieses durch _ ersetzen. Warum funktioniert das hier nicht:
find . -iname '*&*' | while read xx; do mv "\"$xx\"" "'$(echo $xx | sed 's/&/_/g')'"; done
warum wird mv "\"$xx\"" und nicht einfach mv "$xx" geschreiben? Sei x=abc mv "\"$xx\"" sagt doch, daß der Dateiname "abc" bewegt werden soll (also incl. der ")
Es kommt immer die Fehlermeldung, daß die gesuchte Datei nicht gefunden werden konnte, wobei der aufgeführte Name ein & enthält. Dabei ist der Name aber korrekt von " umschlossen worden, was ich auf diese Weise sehe:
find . -iname '*&*' | while read xx; do echo mv "\"$xx\"" "'$(echo $xx | sed 's/&/_/g')'"; done
Woran fehlt es?
Bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer