Rename Nama File Acak menjadi Angka yang Berurutan

Sabtu, 11 Januari 2020

Rename Nama File Acak menjadi Angka yang Berurutan. Bingung juga sebenarnya ngasih judul artikelnya. Jadi beberapa waktu yang lalu saya mengekstrak frame dari video menggunakan FFmpeg. Masalahnya karena ada beberapa frame yang dihapus, nama filenya jadi tidak berurutan lagi. Misalnya 1.png, 3.png, 7.png, dst. Intinya loncat loncat. Nah setelah ke stackoverflow akhirnya ketemu cara gimana nge-rename filenya agar berurutan lagi.

Oke langsung saja ke contoh. Disini saya punya file dengan nomor loncat locat seperti dibawah.

Nah bagaimana cara merename seluruh file menjadi nama yang berurutan dari 1.png, 2.png, dst?
Kita bisa gunakan one line command berikut
ls -v | grep '.png' | cat -n | while read new old; do mv -n "$old" `printf "%04d.png" $new`; done
Opsi %04d saya tambahkan karena di real case yang saya alami ada ribuan file dan saya ingin urutannya dimulai dari 0001.png.
ls -v | grep '.png' digunakan untuk mengurutkan file berekstensi .png sesuai penomoran standar (version).
cat -n sendiri digunakan untuk menambahkan nomor urut di output.
mv digunakan untuk merename dari nama yang lama ke yang baru.

Hasil akhirnya:

Oke mungkin itu saja tutorial kali ini. Sebenarnya gak penting juga sih, ini lebih ke catatan pribadi saya sendiri. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar.

Referensi
https://stackoverflow.com/questions/3211595/renaming-files-in-a-folder-to-sequential-numbers

Artikel Terkait Bash ,Perintah Terminal