Tips Mengubah Nama File Secara Massal

Tadi pagi ada kebutuhan untuk mengubah banyak nama file secara massal. Contoh, di dalam folder /srv/vavai saya memiliki banyak sekali file dengan pola account@namahost.namadomain.tar.gz, saya ingin mengubahnya menjadi account@namadomain.tar.gz, jadi saya hendak mengganti tulisan namahost.namadomain menjadi namadomain. Mengubahnya satu persatu tentu bukan pilihan yang menyenangkan, karena ada sekitar 300 nama file dengan pola seperti itu.

Ternyata di Linux mudah sekali mengubahnya, hanya perlu menjalankan perintah berikut ini :

cd /srv/vavai/
for f in *;do mv $f ${f/namahost.namadomain/namadomain};done

Jika ingin mengganti suatu file dengan extension tertentu, atau menggunakan pattern tertentu, ganti parameter * dengan pengganti yang diinginkan. Contoh berikut ini akan mengganti semua file tar.gz saja :

cd /srv/vavai/
for f in *.tar.gz;do mv $f ${f/namahost.namadomain/namadomain};done

Semoga bermanfaat.

7 thoughts on “Tips Mengubah Nama File Secara Massal

  1. kasih tanda kutip di sekeliling $f supaya berkas dg nama spasi tidak membuat masalah 🙂

    tuk ngubah nama file scr masal, tool “rename” bawaan perl juga bisa jadi alternatif

  2. @Iang, terima kasih lagi, ternyata share sedikit bisa dapat banyak pengetahuan 🙂

    Yg pakai rename saya sempat baca, namun belum sempat digunakan karena perintah diatas sudah bisa menyelesaikan problem yang saya hadapi 🙂

  3. rename itu lebih canggih krn bisa pake regex segala 😀

    tuk contoh yg dipake di atas, kalau pake rename jadi kaya begini

    $ rename ‘s/namahost.namadomain/namadomain/’ *

  4. Minimal ada dua implementasi ‘rename’. Itu yg bisa regex biasanya bawaan distro turunan Debian. Di distro lain (fedora versi lama?) gak support regex, cuma ganti file name “extension” doang.

    Supaya gak mbingungin kayaknya yg rename bawaan debian itu direname (no pun intended) nama packagenya jadi prename, p nya dari perl karena kalo gak salah program rename ini sebenernya awalnya ada di perl contrib yg diadopsi oleh debian.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.