GNU/Linux >> Belajar Linux >  >> Linux

8 Metode Untuk Mengganti Nama Banyak File Sekaligus Di Linux

Dalam tutorial ini, kita akan belajar cara mengganti nama banyak file sekaligus di Linux menggunakan berbagai alat. Semua contoh yang disediakan di sini diuji di Ubuntu, namun harus bekerja pada sistem operasi Linux apa pun.

Pengantar

Seperti yang mungkin sudah Anda ketahui, kami menggunakan mv perintah untuk mengganti nama atau memindahkan file dan direktori di Linux dan sistem operasi mirip Unix.

Tapi, mv perintah tidak akan mendukung penggantian nama file sekaligus. Itu hanya dapat mengganti nama satu file pada satu waktu. Apa yang akan Anda lakukan jika Anda ingin mengganti nama banyak file sekaligus? Jangan khawatir!

Ada beberapa utilitas lain yang tersedia untuk mengubah nama file secara batch di Linux.

Ganti nama banyak file sekaligus di Linux

Mungkin ada banyak perintah dan utilitas untuk mengganti nama banyak file secara massal. Saat menulis ini, saya mengetahui 8 cara berbeda untuk mengganti nama file secara batch. Saya akan terus memperbarui daftar jika saya menemukan metode baru di masa mendatang.

Metode 1 - Batch rename file menggunakan mmv

mmv utilitas digunakan untuk memindahkan, menyalin, menambahkan, dan mengganti nama file secara massal menggunakan wildcard standar di Linux dan sistem operasi mirip Unix. Ini tersedia di repositori default sistem berbasis Debian.

Untuk menginstal mmv di Debian, Ubuntu, Linux Mint, dan Pop OS, jalankan perintah berikut:

$ sudo apt-get install mmv

Katakanlah, Anda memiliki file berikut di direktori Anda saat ini.

$ ls
a1.txt a2.txt a3.txt

Sekarang Anda ingin mengganti nama semua file yang dimulai dengan huruf "a" ke "b" . Tentu saja, Anda dapat melakukan ini secara manual dalam beberapa detik.

Tetapi bayangkan jika Anda memiliki ratusan file dan ingin mengganti namanya? Ini adalah proses yang cukup memakan waktu. Di sinilah mmv perintah datang membantu.

Untuk mengganti nama semua file yang dimulai dengan huruf "a" ke "b" , cukup jalankan:

$ mmv a\* b\#1

Mari kita periksa apakah file telah diganti namanya atau belum.

$ ls
b1.txt b2.txt b3.txt

Seperti yang Anda lihat, semua file dimulai dengan huruf "a" (yaitu a1.txt , a2.txt , a3.txt ) diganti namanya menjadi b1.txt , b2.txt , b3.txt .

Penjelasan

Pada contoh di atas, parameter pertama (a* ) adalah ‘from’ pola dan parameter kedua adalah 'to' pola (b#1 ).

Sesuai contoh di atas, mmv akan mencari nama file apa pun dengan huruf 'a' dan ganti nama file yang cocok sesuai dengan parameter kedua yaitu 'to' pola.

Kami menggunakan wildcard, seperti ‘*’ , ‘?’ dan ‘[]‘ , untuk mencocokkan satu atau lebih karakter arbitrer. Harap perhatikan bahwa Anda harus keluar dari karakter wildcard, jika tidak, karakter tersebut akan diperluas oleh shell dan mmv tidak akan memahaminya.

‘#1′ di ‘to’ pola adalah indeks wildcard. Ini cocok dengan wildcard pertama yang ditemukan di ‘from’ pola. Sebuah ‘#2′ di ‘to’ pola akan cocok dengan wildcard kedua dan seterusnya.

Dalam contoh kami, kami hanya memiliki satu wildcard (tanda bintang), jadi kami menulis #1 . Dan, tanda hash juga harus diloloskan. Selain itu, Anda juga dapat menyertakan pola dengan tanda kutip.

Anda bahkan dapat mengganti nama semua file dengan ekstensi tertentu ke ekstensi yang berbeda. Misalnya, untuk mengganti nama semua .txt file ke .doc format file di direktori saat ini, cukup jalankan:

$ mmv \*.txt \#1.doc

Berikut adalah contoh lain. Katakanlah Anda memiliki file berikut.

$ ls
abcd1.txt abcd2.txt abcd3.txt

Anda ingin mengganti kemunculan pertama abc dengan xyz di semua file di direktori saat ini. Bagaimana menurutmu?

Sederhana.

$ mmv '*abc*' '#1xyz#2'

Harap perhatikan bahwa dalam contoh di atas, saya telah menyertakan pola dalam tanda kutip tunggal.

Mari kita periksa apakah "abc" benar-benar diganti dengan "xyz" atau tidak.

$ ls
xyzd1.txt xyzd2.txt xyzd3.txt

Lihat? File abcd1.txt , abcd2.txt , dan abcd3.txt telah diganti namanya menjadi xyzd1.txt , xyzd2.txt , dan xyzd3.txt .

Fitur penting lainnya dari perintah mmv adalah Anda dapat mencetak output alih-alih mengganti nama file menggunakan -n pilihan seperti di bawah ini.

$ mmv -n a\* b\#1 
a1.txt -> b1.txt
a2.txt -> b2.txt
a3.txt -> b3.txt

Dengan cara ini Anda dapat dengan mudah memverifikasi apa yang sebenarnya akan dilakukan perintah mmv sebelum mengganti nama file.

Untuk detail lebih lanjut, lihat halaman manual.

$ man mmv

Metode 2 - Mengganti nama file secara massal menggunakan utilitas ganti nama

mengganti nama utilitas akan mengganti nama file yang diberikan dengan mengganti kemunculan pertama ekspresi dalam namanya dengan penggantian.

Perintah rename sudah diinstal sebelumnya di sebagian besar sistem operasi mirip Unix. Jika tidak tersedia secara default, jalankan perintah berikut untuk menginstalnya pada sistem berbasis Debian:

$ sudo apt install rename

Misalnya, saya memiliki file berikut di direktori saat ini.

$ ls
abcd1.txt abcd2.txt abcd3.txt

Mari kita ganti kemunculan pertama abc dengan xyz dimanapun ditemukan. Untuk melakukannya, jalankan:

$ rename 's/abc/xyz/' *

Sekarang, verifikasi apakah perubahan telah dilakukan dengan ls perintah.

$ ls
xyzd1.txt xyzd2.txt xyzd3.txt

Terkadang, Anda mungkin hanya mencetak output alih-alih mengganti nama file. Jika demikian, gunakan -n tandai untuk menampilkan penggantian nama mana yang akan terjadi tanpa melakukannya:

$ rename -n 's/abc/xyz/' *
rename(abcd1.txt, xyzd1.txt)
rename(abcd2.txt, xyzd2.txt)
rename(abcd3.txt, xyzd3.txt)

Seperti yang Anda lihat, perintah di atas tidak membuat perubahan apa pun, melainkan hanya menampilkan penggantian nama yang akan terjadi.

Anda dapat memaksa mengganti nama tugas meskipun operasi akan menimpa file yang ada menggunakan -f tandai seperti di bawah ini.

$ rename -f 's/abc/xyz/' *

Jika Anda tidak ingin menimpa file, Anda cukup mengonversinya menjadi huruf besar atau kecil (dan sebaliknya) untuk mencegah kesalahan "sudah ada".

Untuk mengonversi semua nama file menjadi huruf kecil, jadi:

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

Mari kita periksa apakah perubahan telah dibuat.

$ ls
ABCD1.TXT ABCD2.TXT ABCD3.TXT

Ya, huruf dalam nama file telah diubah dari huruf kecil menjadi huruf besar.

Demikian pula, untuk mengonversi nama file menjadi huruf kecil, jalankan:

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

Kami juga dapat menghapus semua baris kosong dalam nama file. Sebagai contoh, saya memiliki file berikut.

$ ls
Clouds of Sunset.mp3

Untuk menghapus semua spasi kosong pada nama file di atas, jalankan:

$ rename "s/ *//g" *

Sekarang, nama file tidak memiliki spasi kosong.

$ ls
CloudsofSunset.mp3

Ganti spasi kosong dengan garis bawah:

$ rename 's/\s+/_/g' *

Anda mungkin ingin mengubah ekstensi file, tetapi tidak mengganti nama file. Hal ini juga mungkin. Perintah berikut akan mengganti nama semua *.txt file ke *.doc .

$ rename 's/\.txt$/.doc/' *.txt

Verifikasi perubahan menggunakan ls perintah:

$ ls
abcd1.doc abcd2.doc abcd3.doc

Untuk menghapus ekstensi di semua file yang cocok dengan .txt , jalankan:

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

Untuk detail lebih lanjut, lihat halaman manual.

$ man rename

Metode 3 - Ganti nama file menggunakan renameutils

renameutils adalah satu set program yang dirancang untuk mengubah nama file dan direktori secara batch lebih cepat dan lebih mudah.

Renameutils terdiri dari lima program berikut:

  1. qmv (gerakan cepat),
  2. qcp (salinan cepat),
  3. imv (gerakan interaktif),
  4. icp (salinan interaktif),
  5. deurlname (menghapus URL).

Instal renameutils di Linux

Renameutils tersedia di repositori default sebagian besar distribusi Linux. Untuk menginstalnya pada sistem berbasis Arch, aktifkan repositori komunitas dan jalankan:

$ sudo pacman -Syu renameutils

Pada sistem berbasis Debian:

$ sudo apt install renameutils

Sekarang, mari kita lihat beberapa contohnya.

1. qmv

Program qmv akan membuka nama file dalam direktori di editor teks default Anda dan memungkinkan Anda untuk mengeditnya.

Saya memiliki tiga file berikut dalam direktori bernama 'ostechnix'.

$ ls ostechnix/
abcd1.txt abcd2.txt abcd3.txt

Untuk mengganti nama file di direktori 'ostechnix', cukup lakukan:

$ qmv ostechnix/

Sekarang, ubah nama file sesuai keinginan. Anda akan melihat pratinjau langsung saat Anda mengedit nama file.

Atau, Anda dapat melakukan cd ke direktori dan menjalankan 'qmv' .

Setelah Anda membuka file, Anda akan melihat dua kolom seperti yang ditunjukkan pada tangkapan layar berikut.

Sisi kolom kiri menampilkan nama file sumber dan kolom kanan menampilkan nama tujuan (nama file keluaran yang akan Anda dapatkan setelah mengedit).

Sekarang, ganti nama semua nama output di sisi kanan sesuai keinginan.

Setelah mengganti nama file, simpan dan keluar dari file.

Terakhir, Anda akan melihat output berikut:

Plan is valid.

abcd1.txt -> xyzd1.txt
abcd2.txt -> xyzd2.txt
abcd3.txt -> xyzd3.txt
   Regular rename

abcd1.txt -> xyzd1.txt
abcd2.txt -> xyzd2.txt
abcd3.txt -> xyzd3.txt

Sekarang, periksa apakah perubahan benar-benar telah dibuat menggunakan 'ls' perintah:

$ ls ostechnix/
xyzd1.txt xyzd2.txt xyzd3.txt

Lihat? Semua file diganti namanya. Tidak hanya file, renameutils juga akan mengganti nama direktori.

Berikut adalah video demo singkat program qmv:

Jika Anda tidak ingin mengedit nama file dalam format dua kolom, gunakan perintah berikut untuk menampilkan kolom file tujuan saja.

$ qmv -f do ostechnix/

Dimana, '-f' mengacu pada format dan 'do' merujuk destination-only .

Sekarang, Anda hanya akan melihat kolom tujuan. Itu kolom yang kita ubah.

Setelah selesai, simpan dan tutup file.

Untuk detail lebih lanjut, lihat halaman manual.

$ man qmv

2. qcp

Program qcp bekerja seperti qmv, tetapi menyalin file alih-alih mengganti namanya. Dalam hal ini, Anda akan mendapatkan dua contoh file yang sama. Itu berarti ia akan menyimpan file asli dan duplikat.

$ qcp ostechnix/

Ganti nama nama file yang tercantum di sisi kanan. Simpan dan keluar dari file. Terakhir, verifikasi perubahan yang dibuat menggunakan perintah ls:

$ ls ostechnix/
abcd1.txt abcd2.txt abcd3.txt xyzd1.txt xyzd2.txt xyzd3.txt

Untuk detail lebih lanjut, lihat halaman manual.

$ man qcp

3. imv

Program imv memungkinkan kita untuk mengubah nama file secara interaktif. Jelas, ini bukan untuk penggantian nama massal. Anda hanya dapat mengganti nama file satu per satu.

$ imv ostechnix/abcd1.txt

Edit nama file sesuka Anda dan tekan ENTER untuk mengganti namanya.

Untuk detail lebih lanjut, lihat halaman manual.

$ man imv

4. icp

Program icp sama dengan imv , tetapi menyalin file alih-alih memindahkannya.

Contoh:

$ icp ostechnix/abcd1.txt

Untuk kasus penggunaan dan perintah lainnya, silakan lihat halaman manual.

$ man icp

Saya tidak tahu mengapa pengembang menambahkan dua utilitas ini sementara kami dapat melakukan hal yang sama menggunakan mv dan cp perintah.

5. deurlname

namadeurl program menghapus karakter yang disandikan URL (seperti %20 mewakili spasi) dari nama file. Beberapa program, misalnya w3m , cenderung menyimpan karakter tersebut dikodekan dalam file yang disimpan.

Anda dapat menggunakan alat ini untuk membersihkan nama file yang Anda unduh dari Internet.

Perhatikan file berikut.

$ ls
omg%20ponnu%20ily%20kannu.mp3

Ada beberapa karakter khusus dan angka dalam nama file. Jika Anda membersihkannya, jalankan saja:

$ deurlname omg%20ponnu%20ily%20kannu.mp3

Sekarang, lihat bagaimana nama file diubah.

$ ls
omg ponnu ily kannu.mp3

Nama filenya bersih dan mudah dibaca.

Lihat halaman manual untuk detail lebih lanjut.

$ man deurlname

Juga, lihat situs web proyek yang diberikan di akhir panduan ini.

Metode 4 - Ganti nama beberapa file sekaligus menggunakan vimv

Seperti namanya, Vimv adalah utilitas baris perintah untuk mengganti nama file secara massal menggunakan Vim editor. Anda tentu saja dapat mengubah editor dengan mengubah nilai $EDITOR variabel lingkungan.

Untuk menginstal Vimv, git clone repositori:

$ git clone https://github.com/thameera/vimv.git

Salin biner vimv ke $PATH . Anda , misalnya /usr/local/bin/ .

$ sudo cp vimv/vimv /usr/local/bin/

Terakhir, buat agar dapat dieksekusi:

$ sudo chmod +x /usr/local/bin/vimv

Sekarang pergi ke direktori dan jalankan perintah berikut untuk mengedit nama file.

$ vimv

Anda akan melihat nama file di editor Vi. Tekan i untuk beralih ke mode interaktif dan mengedit nama file seperti cara Anda mengedit teks di editor Vi. Setelah selesai, tekan ESC kunci dan ketik :wq untuk menyimpan dan keluar.

File di dalam direktori harus diganti namanya sekarang. Berikut adalah video demo singkat.

Untuk detail selengkapnya, lihat repositori GitHub proyek yang diberikan di akhir panduan ini.

Metode 5 - Batch rename file menggunakan Emacs

Jika Anda memiliki sistem dengan editor Emacs terinstal, Anda dapat melakukan penggantian nama batch dengan mudah dengan mengikuti langkah-langkah ini.

1. Buka editor Emacs Anda.

2. Tekan Alt+x dan ketik berikut ini dan tekan ENTER untuk beralih ke wdired-mode (kependekan dari "mode editor direktori yang dapat ditulis").

$ dired

3. Masukkan path ke direktori (Misalnya /home/sk/ostechnix ) yang berisi file yang akan diganti namanya dan tekan ENTER kunci.

4. Kemudian, tekan Ctrl+x dan Ctrl+q untuk beralih ke mode baca-tulis.

5. Sekarang, ganti nama file. Setelah selesai, tekan Ctrl+c dan Ctrl+c (dua kali) untuk menyimpan perubahan. Untuk membatalkan perubahan, tekan Ctrl+c dan Ctrl+k .

Tonton video demonya:

Lihat? Sangat mudah untuk mengganti nama beberapa file sekaligus.

Metode 6 - Mengganti nama file secara massal dengan pengelola file Thunar

Pengelola file Thunar memiliki penggantian nama massal opsi secara default.

Thunar tersedia di repositori default sebagian besar distribusi Linux.

Untuk menginstalnya pada sistem berbasis Arch, jalankan:

$ sudo pacman -S thunar

Di Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux:

$ sudo dnf install thunar

Atau,

$ sudo yum install thunar

Di openSUSE:

$ sudo zypper install thunar

Di Debian, Ubuntu, Linux Mint:

$ sudo apt-get install thunar

Setelah diinstal, Anda dapat meluncurkan utilitas penggantian nama massal dari menu atau dari peluncur aplikasi. Untuk meluncurkannya dari Terminal, gunakan perintah berikut:

$ thunar -B

Seperti inilah tampilan penggantian nama massal.

Klik tanda plus dan pilih daftar file yang ingin Anda ganti namanya. Penggantian nama massal dapat mengubah nama file, akhiran file atau keduanya nama dan akhiran file.

Thunar saat ini mendukung Pengubah Nama Massal berikut:

  • Masukkan Tanggal atau Waktu
  • Sisipkan atau Timpa
  • Penomoran
  • Hapus Karakter
  • Telusuri &Ganti
  • Huruf Besar / Kecil

Saat Anda memilih salah satu kriteria ini dari daftar pilihan, Anda akan melihat pratinjau perubahan Anda di Nama Baru kolom, seperti yang ditunjukkan pada tangkapan layar di bawah ini.

Setelah Anda memilih kriteria, klik Ganti Nama File opsi untuk mengganti nama file.

Anda juga dapat membuka renamer massal dari dalam Thunar dengan memilih dua atau lebih file. Setelah memilih file, tekan F2 atau klik kanan dan pilih Rename .

Bacaan yang disarankan:

  • [Tips Bash] Mengganti Nama File Tanpa Mengetik Nama Lengkap Dua Kali Di Linux

Metode 7 - Ganti nama daftar file dengan KRename

KRename adalah batch file renamer yang dapat mengubah nama daftar file berdasarkan sekumpulan ekspresi. Ini memungkinkan Anda untuk mengganti nama file dalam jumlah besar hanya dengan menambahkan urutan angka atau mengubah huruf besar/kecil.

KRename dirancang khusus untuk dan diinstal secara default di distribusi KDE. Anda juga dapat menginstalnya di distribusi Linux lainnya.

Misalnya, untuk menginstal KRename di Fedora, jalankan saja:

$ sudo dnf install krename

Luncurkan aplikasi KRename dari peluncur aplikasi atau menu dan tambahkan semua file yang akan diganti namanya di File bagian.

Di Tujuan bagian, pastikan Anda telah memilih opsi "Ganti nama file input"..

Di Plugin, Anda dapat memilih plugin pilihan Anda, yang menyediakan berbagai tag saat mengganti nama file.

Di bagian bagian terakhir, Anda dapat memilih skema ganti nama yang akan digunakan. Anda akan melihat pratinjau di bagian bawah berdasarkan skema yang Anda pilih. Setelah Anda setuju dengan opsi yang dipilih, klik tombol Selesai untuk mengganti nama file.

File yang diganti namanya akan disimpan di lokasi yang sama.

KRename adalah utilitas renamer yang kaya fitur. Ini memiliki begitu banyak opsi saat mengganti nama file. Sebagian besar opsi sudah cukup jelas.

Metode 8 - Ganti nama banyak file dan folder menggunakan Smart file renamer

Smart File Renamer adalah program grafis untuk mengganti nama banyak file sekaligus. Menggunakan Smart File rename, Anda dapat dengan mudah dan cepat mengganti nama file dan direktori sekaligus dengan beberapa klik mouse. Ini adalah aplikasi lintas platform yang mendukung Linux, macOS dan Windows. Berbeda dengan program lain, itu adalah kepatutan. Versi gratisnya hanya memiliki fungsionalitas terbatas.

Smart File Renamer tersedia sebagai paket snap. Anda dapat menginstalnya menggunakan perintah berikut:

$ sudo snap install smart-file-renamer

Setelah terinstal, luncurkan dari menu atau peluncur aplikasi. Tambahkan file dan direktori yang ingin Anda ganti namanya dan klik tombol Ganti Nama di bagian bawah.

Ini mendukung banyak aturan dan filter untuk penggantian nama batch. Cukup pilih di sisi kanan jendela aplikasi dan tekan tombol Ganti Nama.

Kesimpulan

Ini dia! Dalam panduan ini, kami telah membahas 8 metode untuk mengganti nama file secara massal di Linux. Kami telah menyediakan baris perintah dan program grafis untuk mengganti nama banyak file sekaligus. Pilih saja yang cocok untuk Anda dan selesaikan pekerjaan.

Dan, itu saja untuk saat ini. Semoga ini bermanfaat. Apakah Anda tahu metode lain untuk ditambahkan dalam daftar ini? Silakan sebutkan mereka di bagian komentar di bawah. Saya akan memeriksa dan memperbarui panduan ini.


Linux
  1. Cara Mengganti Nama File di Linux

  2. Cara Membuat Zip Banyak File di Linux

  3. Linux:hapus ekstensi file untuk banyak file

  1. Ganti nama file di terminal Linux

  2. Bagaimana cara mengganti nama banyak file dari satu ekstensi ke ekstensi lainnya di Linux / Unix?

  3. Linux mengganti nama file menjadi huruf besar

  1. Bagaimana Cara Mengganti Nama Banyak File Menggunakan Find?

  2. Cara Mengganti Nama Banyak File Sekaligus di Linux

  3. Cara Mengganti Nama Banyak File Bersama di Linux Menggunakan 3 Metode