[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: