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,destinationharus berupa direktori. Dalam hal ini,sourcefile dipindahkan ke direktori target. - Jika Anda menetapkan satu file sebagai
source, dandestinationtarget adalah direktori yang ada, kemudian file dipindahkan ke direktori yang ditentukan. - Untuk mengganti nama file, Anda perlu menentukan satu file sebagai
sourcedan satu file sebagaidestinationsasaran.
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
forloop dan mengulangi daftar semua file dengan tepi.html. - Baris kedua berlaku untuk setiap item dari daftar dan memindahkan file ke yang baru menggantikan
.htmldengan.php. Bagian${file%.html}menggunakan ekspansi parameter shelluntuk menghapus.htmlbagian dari nama file. donemenunjukkan 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
renamedi Ubuntu dan Debiansudo apt install rename -
Pasang
renamedi CentOS dan Fedorasudo yum install prename -
Pasang
renamedi 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.