Saya mencoba untuk mengganti nama banyak file di shell saya, dan meskipun ada banyak materi tentang itu di internet, sepertinya saya tidak dapat menemukan solusi untuk kasus khusus saya.
Saya memiliki banyak file yang (sepertinya) memiliki “timestamp-id”:
abc_128390.png
abc_138493.png
abc_159084.png
...
yang ingin saya tukarkan dengan counter:
abc_001.png
abc_002.png
abc_003.png
...
Pendekatan naif saya (banyak) akan seperti:
mv abc_*.png abc_{001..123}.png
Juga, saya tidak dapat menemukan cara untuk membuatnya bekerja dengan for
-loop.
FWIW, sayangnya rename
tidak tersedia pada sistem khusus ini.
Setiap saran akan sangat dihargai!
Jawaban yang Diterima:
Saya tidak dapat memikirkan solusi yang menangani penambahan penghitung dengan cara yang lebih cerdas, tetapi ini akan berhasil:
i=0
for fi in abc_??????.png; do
mv "$fi" abc_$i.png
i=$((i+1))
done
Seharusnya aman menggunakan abc_*.png
karena diperluas sebelum mv
pertama pernah dieksekusi, tetapi akan berguna untuk menjadi sangat spesifik karena Anda hanya menginginkan file dengan stempel waktu enam karakter di bagian akhir.