Kita sering menggunakan perintah "mv" untuk mengubah nama suatu file di Linux. Akan tetapi, bagaimana kalau kita ingin mengubah nama banyak file sekaligus?
Untung saja Linux hadir dengan banyak tools bawaan yang powerful, salah satu diantaranya adalah tools yang bernama rename. Perintah rename biasanya digunakan untuk mengubah nama banyak file sekaligus, atau mengubah nama ke huruf kecil (lowercase), huruf besar (uppercase), dan menimpa file yang sudah ada menggunakan Perl expressions.
Perintah "rename" merupakan bagian dari script Perl dan rata-rata di setiap distribusi Linux berada di bawah direktori "/usr/bin/". Kalian bisa menjalankan perintah "which" untuk menemukan lokasi dimana perintah "rename" berada.
[$ which rename]
Perintah Dasar dari Rename
[rename 's/nama-lama/nama-baru/' file]
Perintah "rename" hadir dengan beberapa argumen opsional untuk mendukung pekerjaannya supaya berjalan dengan baik.
[rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]]
- [message]
- ##info-circle## Penjelasan
- -v : Menampilkan nama-nama file yang berhasil diubah namanya.
-n : Mengetes apakah perintah yang kita tulis benar atau tidak.
-f : Memaksa menimpa file apabila ada file yang namanya sama (dalam satu folder).
perlexpr : Perl Expression.
Untuk memudahkan kalian memahami setiap argumen opsional yang ada di atas, saya sudah menyiapkan beberapa contoh di bawah ini.
1. Contoh Perintah Dasar
Misalkan kalian memiliki banyak file yang berekstensi ".html" dan ingin mengubah ekstensinya menjadi ".php", maka pertama-tama jalankan perintah "ls -l" untuk menampilkan daftar file yang memiliki ekstensi ".html".
Sekarang, kalian ingin mengubah ekstensi dari file-file tersebut yang awalnya ".html" menjadi ".php", maka kalian bisa menggunakan perintah "rename" dengan perl expression seperti yang tertulis di bawah.
[ls -la]
Sekarang, kalian ingin mengubah ekstensi dari file-file tersebut yang awalnya ".html" menjadi ".php", maka kalian bisa menggunakan perintah "rename" dengan perl expression seperti yang tertulis di bawah.
[rename 's/\.html$/\.php/' *.html]
- [message]
- ##info-circle## Catatan
- Pada perintah di atas, kita menggunakan 2 argumen :
1. Argumen pertama merupakan perl expression untuk mengubah .html menjadi .php
2. Argumen kedua memberi tahu perintah "rename" untuk mengubah semua ekstensi file dengan *.php
Mari kita lihat apakah semua ekstensi file sudah berhasil diubah menjadi ".php" dengan cara menjalankan perintah "ls -l" lagi.
[ls -l]
Sekarang kalian bisa melihat bahwa semua file sudah berhasil diubah ekstensinya dari .html ke .php.
2. Mengetes Apakah Perintah yang Kita Tulis Benar atau Tidak
Ketika kita ingin melakukan pengecekan apakah perintah yang kita tulis benar atau tidak, kita bisa menggunakan argumen "-n".
[rename -n 's/\.php$/\.html/' *.php]
- [message]
- ##info-circle## Catatan
- Perintah di atas hanya menampilkan file-file yang akan diubah ekstensi atau namanya, namun tidak akan terjadi perubahan kecuali kalian menghilangkan argumen "-n"
3. Menampilkan Daftar File yang Berhasil Diubah Namanya
Kita lihat setelah menjalankan perintah "rename" dia tidak menampilkan apa-apa. Maka apabila kita ingin menampilkan daftar file yang berhasil kita ubah namanya (seperti saat kita menggunakan argumen "-n"), maka kita harus menggunakan argumen "-v" (verbose).
[rename -v 's/\.php$/\.html/' *.php]
4. Mengubah Nama dari Huruf Kecil Menjadi Huruf Besar atau Sebaliknya
Apabila kita ingin mengubah nama banyak file dari huruf kecil ke huruf besar atau sebaliknya, maka kita bisa menggunakan perintah di bawah ini.
Huruf Kecil ke Huruf Besar
[rename 'y/a-z/A-Z/' *.html]
Setelah kalian menjalankan perintah di atas, silakan cek menggunakan perintah "ls -l" lagi.
[ls -l]
Kalian bisa lihat bahwa perintah di atas benar-benar mengubah nama dari huruf kecil ke huruf besar (beserta ekstensi .HTML).
Huruf Besar ke Huruf Kecil
Hampir sama seperti sebelumnya, apabila kalian ingin mengubah nama file dari huruf besar ke huruf kecil cukup menjalankan perintah di bawah ini.
[rename 'y/A-Z/a-z/' *.html]
5. Mengubah Huruf Pertama Menjadi Kapital
Untuk mengubah huruf pertama dari tiap file menjadi huruf kapital, cukup menggunakan perintah di bawah.
[rename 's/\b(\w)/\U$1/g' *.ext]
6. Menimpa File yang Sudah Ada
Apabila kalian ingin menimpa file yang sudah ada, gunakan argumen "-f" seperti contoh di bawah.
[rename -f 's/a/b/' *.html]
Jika kalian ingin mengetahui lebih lanjut mengenai perintah "rename", cukup ketikkan "man rename" di Terminal.
Perintah "rename" sangat berguna untuk mengubah banyak nama file sekaligus. Semoga semua ilmu yang ada di artikel ini bermanfaat, apabila kalian memiliki pertanyaan jangan sungkan untuk meninggalkan komentar di bawah.
Terima kasih sudah membaca :)