Mengganti nama banyak file dan direktori dengan mv
perintah bisa menjadi proses yang membosankan karena melibatkan penulisan perintah yang rumit dengan pipa, loop, dan sebagainya.
Di sinilah rename
perintah berguna. Itu mengganti nama file yang diberikan dengan mengganti ekspresi pencarian di namanya dengan pengganti yang ditentukan.
Dalam tutorial ini, kami akan menjelaskan cara menggunakan rename
perintah untuk mengelompokkan rename file.
Memasang rename
#
Ada dua versi rename
perintah dengan sintaks dan fitur yang berbeda. Kami akan menggunakan versi Perl dari rename
perintah.
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
-
Linux Arch
yay perl-rename
Menggunakan rename
#
Berikut ini adalah sintaks umum untuk rename
perintah:
rename [OPTIONS] perlexpr files
rename
perintah pada dasarnya adalah skrip Perl. Ini akan mengganti nama files
yang diberikan sesuai dengan perlexpr
yang ditentukan ekspresi reguler. Anda dapat membaca tentang ekspresi reguler Perl di sini.
Misalnya, perintah berikut akan mengubah ekstensi semua .css
file ke .scss
:
rename 's/.css/.scss/' *.css
Mari kita jelaskan perintah lebih detail:
s/search_pattern/replacement/
- Operator pengganti..css
- Pola pencarian. Ini adalah argumen pertama dalam operator substitusi.rename
perintah akan mencari pola ini dalam nama file yang diberikan dan jika ditemukan akan menggantinya dengan argumen pengganti..scss
- Penggantian. Argumen kedua dalam operator substitusi.*.css
- Semua file dengan ekstensi ".css". Karakter pengganti (*
) adalah simbol yang digunakan untuk mewakili nol, satu atau lebih karakter.
Sebelum menjalankan perintah aktual dan mengganti nama file dan direktori, sebaiknya gunakan -n
opsi yang akan melakukan "dry run" dan menunjukkan kepada Anda file apa yang akan diganti 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, rename
perintah tidak menimpa file yang ada. Gunakan -f
opsi yang memberitahu rename
untuk menimpa file yang ada:
rename -f 's/.css/.scss/' *.css
Jika Anda ingin rename
untuk mencetak nama file yang berhasil diubah namanya, gunakan -v
opsi (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
rename
Contoh #
Berikut adalah beberapa contoh umum tentang cara menggunakan perintah rename:
Ganti spasi pada nama file dengan garis bawah #
rename 'y/ /_/' *
Mengubah nama file menjadi huruf kecil #
rename 'y/A-Z/a-z/' *
Mengubah nama file menjadi huruf besar #
rename 'y/a-z/A-Z/' *
Hapus .bak
dari nama file #
rename 's/\.bak$//' *.bak
Ganti nama .jpeg
dan .JPG
nama file menjadi .jpg
#
rename 's/\.jpe?g$/.jpg/i' *
Kesimpulan #
rename
perintah memungkinkan Anda untuk mengganti nama beberapa file sekaligus, menggunakan ekspresi reguler Perl.
Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.