Hallo, Am Sun, 21 Nov 2004, Sören Wengerowsky schrieb:
Am Sonntag, 21. November 2004 16:11 schrieb David Haller:
Am Sun, 21 Nov 2004, Sören Wengerowsky schrieb: [..]
Der Fehler war wohl, dass ich da schon mehrere Dateien hatte, die nachher "test" heißen sollten. Das überprüft das Script wohl mit "if test "x${newname}" != "x${oldname}" && test ! -e "$newname";.."
Genau.
Mist. Hier hatte ich noch vergessen: "Deswegen auch 'mv -v' und nicht 'mv -v -i'." Ohne den test und ohne das -i wuerde einem 'mv' eben bei Namenskollisionen die Dateien ueberschreiben. Und da ein 'mv -i' den script-Ablauf bei Kollisionen v.a. nur bremst hab ich den Test eben eingebaut. Was dann noch uebrigbleibt muss man halt "per Hand" umbenennen, dazu kann man ggfs. die Ausgabe im else-Zweig des Tests noch anpassen, z.B. so: else echo "kept $oldname" >&2 fi und dann das script mit ' 2>./__not_moved' o.ae. aufrufen und anschliessend die Fehlerausgabe per cut -d' ' -f2- < ./.__not_moved | while read f; do ... weiterverarbeiten.
Dann noch ein abschließendes Dankeschön für das schöne Script! Das hat mir wohl viele Stunden Arbeit erspart.
Bitte. -- In the middle of evil there's allways *vi* -- snarfed from "Sensor"