Re: Zufällige Massenumbenennung
Hallo,
Am Sam, 10 Okt 2009, Christian Knorr schrieb:
>Am Samstag 10 Oktober 2009 14:14:39 schrieb Uwe Kerstan:
>> Mal schnell probiert:
>>
>> #!/bin/bash
>> for foto in *.jpg
>> do
>> zufall=$(printf %.3d.jpg $(($RANDOM%999)))
>> if [ -f "$zufall" ]; then continue; fi
>> mv -v "$foto" "$zufall"
>> done
>Na bestens :) Für den einen Fall reicht das allemal und geht Prächtig.
>Es gab allerdings einen kleinen Fehler. So gehts:
Welchen?
>#!/bin/bash
>for foto in *.jpg
>do
> zufall=$(printf %.3d.jpg $(($RANDOM%999)))
> if [ -f "$zufall" ]; then
> continue;
> fi
> mv -v "$foto" "$zufall"
>done
Da gibt's keinen Unterschied!
C&P Fehler deinerseits?
Aber wenn wir schon beim Korinthenkacken sind: [ .. ] mag ich gar
nicht[1], man sollte immer Quoten, und man sollte Leerzeichen
spendieren, wenn sie der Lesbarkeit dienlich sind. Wie man die
Schleife formatiert ist Geschmackssache.
#!/bin/bash
for foto in *.jpg; do
zufall="$(printf '%.3d.jpg' "$(( ${RANDOM} % 999 ))" )"
if test -e "$zufall"; then continue; fi
mv -v "$foto" "$zufall"
done
Achso: man sollte gucken, ob die Zieldatei existiert, nicht nur, ob
das eine normale Datei ist ...
Achso2: $RANDOM ist alles andere als zufällig aber für diese Anwendung
absolut ausreichend.
-dnh
[1] hab mich schon oft mit Fragen anderer plagen müssen, die das für
Bash-Syntax hielten, anstatt für einen Befehl (builtin oder eben
auch extern) ...
--
Und wenn du denkst dich mag niemand mehr, dann kommt der Christopher
und siggt dich sehr. [Christopher Splinter in dag°]
Reply to: