Pendahuluan
Linux menyediakan beberapa opsi untuk mengganti nama file, termasuk menggunakan GUI dan beberapa perintah terminal khusus. Ini membuatnya relatif mudah untuk mengganti nama file satu per satu, tetapi bisa jadi sulit untuk mengganti nama beberapa file sekaligus.
Dalam tutorial ini, kita akan membahas berbagai perintah yang dapat Anda gunakan di terminal Linux untuk mengganti nama file di Linux.
Prasyarat
- Sistem yang menjalankan distribusi Linux
- Akun dengan hak istimewa sudo
- Akses ke jendela terminal/baris perintah
- Akses ke editor teks, seperti Vim atau Nano
Ganti Nama File dengan Perintah mv
Linux mv
Perintah (move) digunakan untuk memindahkan file dan direktori dari terminal. Ini menggunakan sintaks berikut:
mv [options] [source] [destination]
Jika Anda menentukan direktori sebagai tujuan saat menggunakan mv
perintah, file sumber pindah ke direktori itu. Jika tujuannya adalah nama file lain, mv
perintah mengganti nama file sumber menjadi nama itu.
Ganti Nama Satu File dengan Perintah mv
Menggunakan mv
perintah dengan sintaks default memungkinkan Anda untuk mengganti nama satu file:
mv [options] [current file name] [new file name]
Misalnya, jika kita ingin mengganti nama example1.txt ke example2.txt , kita akan menggunakan:
mv example1.txt example2.txt
Karena tidak ada output jika perintah berhasil, kami menggunakan ls
perintah untuk memeriksa apakah namanya diubah:
ls -l
Ganti Nama Banyak File dengan Perintah mv
Dengan sendirinya, mv
perintah mengganti nama satu file. Namun, menggabungkannya dengan perintah lain memungkinkan Anda mengganti nama banyak file secara bersamaan.
Salah satu metode adalah dengan menggunakan find
perintah untuk memilih beberapa file dengan nama yang mirip, lalu gunakan mv
perintah untuk mengganti namanya:
find . -depth -name "[current file name element]" -exec sh -c 'f="{}"; mv -- "$f" "${f%[current file name element]}[new file name element]"' \;
Dengan menggunakan sintaks ini, find
perintah mendefinisikan elemen dari nama file saat ini sebagai parameter pencarian. Selanjutnya, -exec
mengeksekusi mv
perintah pada file apa pun yang cocok dengan pencarian, mengubah nama file saat ini menjadi yang baru.
Misalnya, jika kita memiliki example1.txt , contoh2.txt , dan contoh3.txt dan ingin mengubah ekstensi menjadi .pdf :
find . -depth -name "*.txt" -exec sh -c 'f="{}"; mv -- "$f" "${f%.txt}.pdf"' \;
Metode lain adalah dengan menggunakan mv
perintah sebagai bagian dari <strong>for</strong>
loop dalam skrip bash.
Menggunakan contoh yang sama, mulailah dengan membuat dan membuka file skrip bash menggunakan editor teks seperti Nano:
sudo nano rename_files.sh
Tambahkan baris berikut ke skrip:
#!/bin/bash
for f in *.txt; do
mv -- "$f" "${f%.txt}.pdf"
done
Dalam skrip di atas:
- Baris pertama menginstruksikan skrip untuk mencari semua file di direktori saat ini yang diakhiri dengan .txt .
- Baris kedua menggunakan
mv
perintah pada setiap file yang ditemukan untuk menggantikan .txt ekstensi dengan .pdf . - Baris ketiga mengakhiri segmen loop.
Tekan Ctrl+X , lalu ketik Y dan tekan Enter untuk menyimpan perubahan pada skrip dan keluar.
Gunakan sh
perintah untuk mengeksekusi skrip:
sh rename_files.sh
Ganti Nama File dengan Perintah rename
rename
Perintah ini digunakan untuk mengganti nama beberapa file atau direktori di Linux. Menawarkan lebih banyak fitur daripada mv
perintah tetapi bisa lebih menantang untuk digunakan karena memerlukan pengetahuan dasar tentang ekspresi Perl.
Cara Menginstal Perintah rename
Pada banyak distribusi Linux, rename
perintah tidak tersedia secara default. Jika sistem Anda tidak memiliki rename
perintah, instal dengan:
- Untuk Ubuntu dan Debian, gunakan
sudo apt install rename
- Untuk CentOS dan Fedora, gunakan
sudo yum install prename
- Untuk Arch Linux, gunakan
sudo pacman -S
ganti nama
ganti nama Sintaks dan Opsi Perintah
Ada tiga jenis ekspresi reguler Perl:cocok , pengganti dan terjemahkan . rename
perintah menggunakan ekspresi pengganti dan terjemahkan untuk mengubah nama file dan direktori.
Ekspresi pengganti menggantikan bagian dari nama file dengan string yang berbeda. Mereka menggunakan sintaks berikut:
rename [options] 's/[filename element]/[replacement]/' [filename]
Dengan sintaks ini, perintah mengganti nama file dengan mengganti kemunculan pertama elemen nama file dengan pengganti . Pada perintah di atas:
rename
:Memanggil perintah rename.[options]
:Memberikan argumen opsional yang mengubah cara perintah dijalankan.s
:Menunjukkan ekspresi pengganti.[filename element]
:Menentukan bagian dari nama file yang ingin Anda ganti.[replacement]
:Menentukan pengganti untuk bagian dari nama file saat ini.[filename]
:Mendefinisikan file yang ingin Anda ganti namanya.
Ekspresi terjemahan menerjemahkan satu string karakter ke karakter lain, karakter demi karakter. Jenis ekspresi ini menggunakan sintaks berikut:
rename [options] 'y/[string 1]/[string 2]/' [filename]
Contoh rename
perintah menggunakan ekspresi terjemahan:
rename 'y/abc/xyz/'
Dalam contoh ini, setiap a karakter dalam nama file diganti dengan x , setiap b oleh y , dan setiap c oleh z .
mengganti nama perintah menggunakan opsi berikut:
-a
:Mengganti semua kemunculan elemen nama file, bukan hanya yang pertama.-f
:Memaksa penimpaan file yang ada.-h
:Menampilkan teks bantuan.-i
:Menampilkan prompt sebelum menimpa file yang ada.-l
:Mengganti kemunculan terakhir dari elemen nama file, bukan yang pertama.-n
:Melakukan lari kering, tidak membuat perubahan permanen. Paling baik dikombinasikan dengan keluaran verbose (-v
).-s
:Mengganti nama target, bukan symlink.-v
:Menampilkan versi verbose dari output.-V
:Menampilkan versi perintah.
ganti nama Contoh Perintah
1. Ubah Ekstensi File
Kembali ke contoh terakhir kami, untuk mengubah ekstensi file dari .txt ke .pdf , gunakan:
rename -v 's/.txt/.pdf/' *.txt
2. Mengganti Bagian dari Nama File
Mengganti bagian yang berbeda dari nama file mengikuti sintaks yang sama. Untuk mengganti nama example1.txt , contoh2.txt , dan contoh3.txt ke test1.txt , test2.txt , dan text3.txt , gunakan:
rename -v 's/example/test/' *.txt
3. Menghapus Bagian dari Nama File
rename
opsi juga memungkinkan Anda untuk menghapus bagian dari nama file dengan menghilangkan bagian pengganti dari ekspresi. Misalnya, jika kita ingin mempersingkat contoh menjadi mantan :
rename -v 's/ample//' *.txt
4. Ganti Nama File dengan Nama Serupa
Penggunaan lain untuk rename
pilihannya adalah mengganti nama file dengan nama yang mirip. Misalnya, jika kita ingin mengganti nama file dengan contoh dan contoh atas nama mereka untuk menguji :
rename -v 's/(ex|s)ample/test/' *.txt
5. Ganti Nama File Karakter demi Karakter
rename
perintah juga memungkinkan Anda menggunakan ekspresi terjemahan untuk mengganti nama file berdasarkan karakter demi karakter. Misalnya, jika Anda ingin mengganti nama beberapa file bernama file contoh dengan mengganti ruang kosong dengan garis bawah (_ ):
rename -v 'y/ /\_/' *.txt
6. Mengonversi Karakter Huruf Kecil
Untuk mengubah karakter huruf kecil dalam nama file menjadi karakter huruf besar, gunakan:
rename -v 'y/a-z/A-Z/' *.txt
7. Konversi Karakter Huruf Besar
Kebalikannya juga berfungsi jika kita mengganti urutan karakter huruf besar dan kecil dalam ekspresi:
rename -v 'y/A-Z/a-z/' *.TXT