Hallo zusammen,
ich haben hier einen Haufen (ca. 300) JPG-Dateien, die ich nach dem Muster
0001.JPG; 0002.JPG; … umbenennen möchte. Dazu habe ich mir ein Shell-Skript geschrieben, dessen Code ich unten anfüge.
Beim Durchlauf bekomme ich bei zwei Dateien die Fehlermeldung
mv: Aufruf von stat für "IMG\_7612.JPG" nicht möglich: Datei oder Verzeichnis nicht gefunden
(der Dateiname ist natürlich beim 2. Mal ein anderer)
Außerdem fällt nach dem Durchlauf auf, dass die Dateien 0010.JPG und 0100.JPG fehlen. Offensichtlich klappt der Übergang zwischen den beiden if-Schleifen nicht.
Wo liegt mein Fehler? Hat jemand eine andere/bessere Möglichkeit zum Umbenennen der Dateien?
Danke und Gruß,
Vladimir
Code:
#! /bin/sh
# Umbennen von JPG-Dateien in 0001.JPG, 0002.JPG, ...
z=1
for i in \*.JPG; do
if test $z -lt 10; then
mv $i 000$z.JPG
z=$[$z+1]
fi
if test $z -ge 10 -a $z -lt 100; then
mv $i 00$z.JPG
z=$[$z+1]
fi
if test $z -ge 100 -a $z -lt 1000; then
mv $i 0$z.JPG
z=$[$z+1]
fi
if test $z -ge 1000 -a $z -lt 10000; then
mv $i $z.JPG
z=$[$z+1]
fi
if test $z -ge 10000; then
echo "Mehr als 10 000 Dateien - das kann ich nicht!"
fi
done