Ich versuche, eine Reihe von Dateien in meiner Shell stapelweise umzubenennen, und obwohl es im Internet viel Material darüber gibt, kann ich anscheinend keine Lösung für meinen speziellen Fall finden.
Ich habe eine Reihe von Dateien, die (was zu sein scheint) eine „timestamp-id“ haben:
abc_128390.png
abc_138493.png
abc_159084.png
...
die ich gegen einen Counter eintauschen möchte:
abc_001.png
abc_002.png
abc_003.png
...
Mein (viel) naiver Ansatz wäre so etwas wie:
mv abc_*.png abc_{001..123}.png
Außerdem konnte ich keinen Weg finden, es mit einem for zum Laufen zu bringen -Schleife.
FWIW, leider rename ist auf diesem speziellen System nicht verfügbar.
Jeder Rat wäre sehr willkommen!
Akzeptierte Antwort:
Mir fällt keine Lösung ein, die das Inkrementieren des Zählers cleverer handhabt, aber das hier sollte funktionieren:
i=0
for fi in abc_??????.png; do
mv "$fi" abc_$i.png
i=$((i+1))
done
Es sollte sicher sein, abc_*.png zu verwenden weil es vor dem ersten mv expandiert wird wird immer ausgeführt, aber es kann nützlich sein, sehr spezifisch zu sein, indem Sie nur Dateien mit einem sechsstelligen Zeitstempel am Ende wollen.