Mengganti nama banyak file dan direktori dengan perintah mv bisa menjadi proses yang membosankan karena melibatkan penulisan perintah kompleks dengan piping, loop, dan sebagainya.

Di sinilah perintah rename berguna. Seperti namanya, rename atau “ubah nama” file yang diberikan dengan mengganti ekspresi pencarian di namanya dengan penggantian yang ditentukan..

Dalam tutorial ini, kami akan menjelaskan bagaimana cara menggunakan perintah rename untuk membuat batch nama file.

Cara Install rename

Ada dua versi perintahrename dengan sintaks dan fitur yang berbeda. kita akan menggunakan versi Perl dari perintahrename.

Jika versi ini tidak diinstal pada sistem Anda, gunakan manajer paket distribusi Linux Anda untuk menginstalnya:

  • Ubuntu dan Debian
    sudo apt update
    sudo apt install rename
  • CentOS dan Fedora
    sudo yum install prename
  • Arch Linux
    yay perl-rename

Menggunakan rename

Berikut ini adalah sintaks umum untuk perintah rename:

rename [OPTIONS] perlexpr files

Perintah rename pada dasarnya adalah skrip Perl. Ini akan mengganti nama file yang diberikan sesuai dengan regular expressions perlexpr yang ditentukan. Anda dapat membaca tentang regular expressions Perl di sini.

Misalnya, perintah berikut akan mengubah ekstensi semua file .css ke .scss:

rename 's/.css/.scss/' *.css

Mari kita jelaskan perintah ini dengan lebih detail:

  • s/search_pattern/replacement/– Operator substitusi.
  • .css – Pola pencarian. Ini adalah argumen pertama dalam operator substitusi. Perintah rename akan mencari pola ini dalam nama file yang diberikan dan jika ditemukan akan menggantinya dengan argumen penggantian.
  • .scss – Pengganti. Argumen kedua di operator substitusi.
  • * .css – Semua file dengan ekstensi “.css”. Wildcard (*) adalah simbol yang digunakan untuk mewakili nol, satu atau lebih karakter.

Sebelum menjalankan perintah aktual dan mengganti nama file dan direktori itu selalu merupakan ide yang baik untuk menggunakan opsi -n yang akan melakukan “dry run” dan menunjukkan kepada Anda file apa yang akan diubah namanya:

rename -n 's/.css/.scss/' *.css

Outputnya akan terlihat seperti ini:

rename(file-0.css, file-0.scss)
rename(file-1.css, file-1.scss)
rename(file-2.css, file-2.scss)
rename(file-3.css, file-3.scss)
rename(file-4.css, file-4.scss)

Secara default, perintahrename tidak menimpa file yang ada. Gunakan opsi -f yang memberitahu rename untuk menimpa file yang ada:

rename -f 's/.css/.scss/' *.css

Jika Anda inginrename untuk mencetak nama file yang berhasil diubah namanya, gunakan opsi -v (verbose):

rename -v 's/.css/.scss/' *.css
file-0.css renamed as file-0.scss
file-1.css renamed as file-1.scss
file-2.css renamed as file-2.scss
file-3.css renamed as file-3.scss
file-4.css renamed as file-4.scss

Contoh Penggunaan rename

Di bawah ini adalah beberapa contoh umum tentang cara menggunakan perintah rename:

Ganti spasi dalam nama file menjadi underscore

rename 'y/ /_/' *

Ubah Semua nama file menjadi lowercase

rename 'y/A-Z/a-z/' *

Ubah semua nama file menjadi UPPERCASE

rename 'y/a-z/A-Z/' *

Hapus ekstensi .bak dari name file

rename 's/\.bak$//' *.bak

Ganti ekstensi .jpeg dan .JPG menjadi .jpg

rename 's/\.jpe?g$/.jpg/i' *

Kesimpulan

Perintah rename memungkinkan Anda untuk mengganti nama beberapa file sekaligus, menggunakan ekspresi reguler Perl.