Mengganti nama file adalah salah satu tugas paling dasar yang sering Anda perlukan di sistem Linux. Anda dapat mengganti nama file menggunakan pengelola file GUI atau melalui terminal baris perintah.
Mengganti nama satu file itu mudah, tetapi mengganti nama banyak file sekaligus bisa menjadi tantangan, terutama bagi pengguna yang baru mengenal Linux.
Dalam tutorial ini, kami akan menunjukkan cara menggunakan mv
dan rename
perintah untuk mengganti nama file dan direktori.
Mengganti Nama File dengan mv
Perintah #
mv
command(short of move) digunakan untuk mengganti nama atau memindahkan file dari satu lokasi ke lokasi lain. Sintaks untuk mv
perintahnya adalah sebagai berikut:
mv [OPTIONS] source destination
source
dapat berupa satu atau lebih file, atau direktori dan destination
dapat berupa satu file atau direktori.
- Jika Anda menetapkan beberapa file sebagai
source
,destination
harus berupa direktori. Dalam hal ini,source
file dipindahkan ke direktori target. - Jika Anda menetapkan satu file sebagai
source
, dandestination
target adalah direktori yang ada, kemudian file dipindahkan ke direktori yang ditentukan. - Untuk mengganti nama file, Anda perlu menentukan satu file sebagai
source
dan satu file sebagaidestination
sasaran.
Misalnya, untuk mengganti nama file file1.txt
sebagai file2.txt
Anda akan menjalankan:
mv file1.txt file2.txt
Mengganti nama banyak file dengan mv
Perintah #
mv
perintah hanya dapat mengganti nama satu file pada satu waktu, tetapi dapat digunakan bersama dengan perintah lain seperti find
atau di dalam bash for
atau while
loop untuk mengganti nama banyak file.
Contoh berikut menunjukkan cara menggunakan Bash for loop untuk mengganti nama semua .html
file di direktori saat ini dengan mengubah .html
ekstensi ke .php
.
for f in *.html; do
mv -- "$f" "${f%.html}.php"
done
Mari kita menganalisis kode baris demi baris:
- Baris pertama membuat
for
loop dan mengulangi daftar semua file dengan tepi.html
. - Baris kedua berlaku untuk setiap item dari daftar dan memindahkan file ke yang baru menggantikan
.html
dengan.php
. Bagian${file%.html}
menggunakan ekspansi parameter shelluntuk menghapus.html
bagian dari nama file. done
menunjukkan akhir segmen loop.
Berikut adalah contoh menggunakan mv
dalam kombinasi dengan find
untuk mencapai hal yang sama seperti di atas:
find . -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' \;
find
perintah melewati semua file yang diakhiri dengan .html
di direktori saat ini ke mv
satu per satu menggunakan -exec
pilihan. String {}
adalah nama file yang sedang diproses.
Seperti yang dapat Anda lihat dari contoh di atas, mengganti nama beberapa file menggunakan mv
perintah bukanlah tugas yang mudah karena membutuhkan pengetahuan yang baik tentang skrip Bash.
Mengganti Nama File dengan rename
Perintah #
rename
perintah digunakan untuk mengganti nama beberapa file. Perintah ini lebih maju dari mv
karena memerlukan pengetahuan dasar tentang ekspresi reguler.
Ada dua versi rename
perintah dengan sintaks yang berbeda. Dalam tutorial ini, kita akan menggunakan versi Perl dari rename
memerintah. Jika Anda belum menginstal versi ini di sistem Anda, Anda dapat menginstalnya dengan mudah menggunakan manajer paket distribusi Anda.
-
Pasang
rename
di Ubuntu dan Debiansudo apt install rename
-
Pasang
rename
di CentOS dan Fedorasudo yum install prename
-
Pasang
rename
di Arch Linuxyay perl-rename ## or yaourt -S perl-rename
Sintaks untuk rename
perintahnya adalah sebagai berikut:
rename [OPTIONS] perlexpr files
rename
perintah akan mengganti nama files
sesuai dengan perlexpr
yang ditentukan ekspresi reguler. Anda dapat membaca lebih lanjut tentang ekspresi reguler Perl di sini.
Contoh berikut akan mengubah semua file dengan ekstensi .html
ke .php
:
rename 's/.html/.php/' \*.html
Anda dapat menggunakan -n
opsi untuk mencetak nama file yang akan diganti namanya, tanpa mengganti namanya.
rename -n 's/.html/.php/' \*.html
Outputnya akan terlihat seperti ini:
rename(file-90.html, file-90.php)
rename(file-91.html, file-91.php)
rename(file-92.html, file-92.php)
rename(file-93.html, file-93.php)
rename(file-94.html, file-94.php)
Secara default, rename
perintah tidak menimpa file yang ada. Lewati -f
opsi untuk mengizinkan file yang ada untuk ditimpa:
rename -f 's/.html/.php/' \*.html
Di bawah ini adalah beberapa contoh umum tentang cara menggunakan rename
perintah:
-
Ganti spasi dalam 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/' \*
Kesimpulan #
Kami telah menunjukkan cara menggunakan mv
dan rename
perintah untuk mengganti nama file.
Ada juga perintah lain untuk mengganti nama file di Linux, seperti mmv
. Pengguna Linux baru yang terintimidasi oleh baris perintah dapat menggunakan alat pengubahan nama batch GUI seperti Métamorphose.
Jika Anda memiliki pertanyaan atau umpan balik, silakan tinggalkan komentar.