David Haller schrieb:
Am Tue, 04 Nov 2003, Thomas Hertweck schrieb:
for i in img*.jpg ; do mv -i $i ${i/#img\_/2003-} ; done ^^ ^ ^ *autsch* Ohne quoten bekommst du bei der ersten Datei mit nem Leerzeichen in $i Aerger... Schreib du dir bitte doch auch mal hinter die Ohren, dass man fast nie zuviel, aber fast immer zuwenig quoten kann.
Lies bitte nochmal meine Mail. Da stand klar und deutlich: "Aber wie gesagt: das wird nur gehen, wenn die Dateinamen keine Leerzeichen haben. Ansonsten muss man etwas anders vorgehen." Warum soll ich quoten, wenn ich weiss, dass meine Dateinamen keine Leerzeichen haben? Und das ist bei Andreas definitiv der Fall. Wenn ich so einen Befehl an der Kommandozeile mache, dann ist es kein Skript, was fuer die Ewigkeit geschrieben ist und unter allen Bedingungen funktionieren soll, sondern ein einfacher Befehl, der das macht, was ich momentan brauche. Wenn ich also so etwas vorschlage, dann weiss ich i.d.R. schon, was ich tue.
Also, wenn dann bitte:
for f in img*.jpg; do mv -i "$f" "${f/#img\_/2003-}"; done
Halte ich fuer unnoetig, wenn ich weiss, dass es keine Leer- zeichen gibt. Man kann es mit der "korrekten" Shell-Syntax auch uebertreiben. Gruesse, Th.