On Sam, 06 Okt 2001, Christian Schneider wrote:
Am Samstag, 6. Oktober 2001 03:28 schrieben Sie:
datum=`date "+%Y-%m-%d"` i=0; for name in `find . -type f -iname "*.jpg" | sort -u` do i=$[i+1] newname="j-${datum}-`printf '%02i' $i`.jpg" mv -i "$name" "$newname" done
Funzt prima! Hab die Zeile "i=$[i+1]" einfach ans ende der Schleife gesetzt und jetzt fängt er sogar mit 00 für die erste Datei an.
Ja klar, ich dachte halt, es soll mit 01 beginnen ;)
Jetzt aber noch eine erweiternde Frage dazu: Das Datum für die Dateien ist nicht das aktuelle, und ich würde normalerweise in diesem Fall einfach die Variable "datum" von Hand mit dem entsprechenden String füllen. - Lässt sich diese Variable eigentlich auch beim Aufruf des Scripts mit übergeben?
Ja. datum="${1:-`date +%Y-%m-%d`}" ^ das ist $1 also das erste Argument. ${VARIABLE:-EXPR} testet darauf ob $VARIABLE ungesetzt oder leer ist und wenn ja, expandiert der ${}-Ausdruck zur Expansion von EXPR, wenn nein, wenn also $VARIABLE nicht-leer ist (im Falle von $1 wenn ein Argument uebergeben wurde), expandiert der ${}-Ausdruck zur Expansion von $1. Siehe man bash, nach ':-' suchen. -dnh -- hier ist es ja wie im Urlaub! Nix mehr zu tun. Kein Dau zu beerdigen. Kein Elch zu verjagen. Nicht mal ein kleiner Troll möchte sterben ´gehen. Na dann setz Ich mich mal hier auf die Friedhofsbank und geniesse die Ruhe. Ach ja ! Meine Froschpillen werden langsam knapp. [Woko° in dag°]