GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengganti Nama Banyak File Sekaligus di Linux

Saya yakin Anda sudah tahu cara mengganti nama file di Linux dengan perintah mv. Anda cukup menggunakannya dalam format:

mv old_file_name new_file_name

Tidak ada yang salah dengan metode ini. Bagaimanapun, itu adalah cara standar.

Tetapi bagaimana dengan situasi di mana Anda harus mengganti nama beberapa file. Menggunakan perintah mv satu per satu akan memakan banyak waktu dan harus dihindari.

Anda dapat menggunakan opsi perintah find exec dengan perintah mv untuk mengotomatiskan proses ini. Namun izinkan saya memberi tahu Anda cara yang lebih sederhana untuk mengganti nama file berdasarkan pola regex.

Ubah nama perintah di Linux

Ada utilitas baris perintah yang disebut rename yang memungkinkan Anda untuk mengganti nama semua file yang cocok dengan pola tertentu dalam bentuk regex Perl. Perintah rename hanya berfungsi pada nama file, bukan file itu sendiri.

Berikut sintaks perintah rename berikut:

rename [options] perlexpr [files]

'Perintah ganti nama' ini memiliki opsi berikut:

  • -v :Mode verbose.
  • -n :Tidak ada tindakan. Tampilkan file yang akan diganti namanya tetapi jangan mengubah nama file.
  • -o :Tidak ada penimpaan. Jangan timpa file yang ada.
  • -f :Paksa. Timpa file yang ada.
  • -s :Jangan rename symlink tapi targetnya

Perhatikan bahwa perintah rename bukanlah utilitas standar yang sudah diinstal sebelumnya pada distribusi Linux seperti perintah mv atau cp. Anda mungkin harus menginstalnya. Jika Anda adalah pengguna sudo di Ubuntu atau Debian, Anda dapat menggunakan perintah ini untuk menginstal rename:

sudo apt install rename

Sekarang Anda pasti bertanya-tanya bagaimana cara mengganti nama file dengan perintah rename. Biarkan saya menunjukkan dua skenario praktis di mana perintah ini akan menghemat banyak waktu Anda.

Skenario 1:Ganti Karakter Dengan Karakter Lain di semua Nama File di Linux

Bayangkan jika Anda memiliki spasi putih di beberapa nama file. Adalah mimpi buruk untuk menangani spasi dalam nama file di Linux. Inilah sebabnya mengapa tidak ada pengguna berpengalaman yang pernah menamai file dengan spasi di dalamnya.

Secara alami, Anda ingin menghapus spasi dan menggantinya dengan garis bawah (_). Perintah rename akan sangat berguna di sini. Mari kita lihat caranya.

Untuk mengganti spasi dengan garis bawah pada nama semua file di direktori saat ini, yang harus Anda lakukan adalah menggunakan perintah renam dengan cara ini:

rename 's/ /_/g' *

Jika Anda bahkan akrab dengan regex dari jarak jauh, Anda akan memahami bahwa s/ /_/g sedang mencari spasi dan mengganti semua kemunculan spasi dengan _.

Yang menarik adalah asterisk(*). Tanda bintang memberitahu Anda untuk mengganti nama file yang cocok di direktori saat ini.

Tetapi bagaimana jika Anda ingin mengganti nama semua file yang cocok di sub-direktori juga? Dalam hal ini, Anda dapat menggunakan dua tanda bintang seperti ini:

rename 's/ /_/g' **

Skenario 2:Mengubah Ekstensi Beberapa File Sekaligus di Linux

Ini skenario lain untuk Anda. Anda memiliki beberapa file dengan nama seperti my_file.xyz dan Anda ingin mengganti nama file ini sehingga menjadi seperti my_file.abc.

Untuk mengubah ekstensi beberapa file sekaligus, Anda dapat menggunakan perintah rename dengan cara berikut:

rename 's/\.xyz$/.abc/' **

Biarkan saya menjelaskan perintah di atas kepada Anda.

‘s/\.xyz$/.abc/’ :Ini adalah ekspresi reguler yang berarti mengganti karakter .xyz di akhir baris dengan .abc. Tambahan \ digunakan untuk keluar dari . jika tidak, itu berarti mencocokkan karakter apa pun sebelum xyz.

** berarti lihat di direktori saat ini dan sub-direktorinya.

Apakah Anda menyukai perintah rename?

Tidak banyak orang yang mengetahui perintah rename. Ini mungkin juga karena fakta bahwa rename bukanlah perintah de facto di banyak sistem Linux.

Namun, menurut saya perintah ini cukup berguna saat menangani penggantian nama beberapa file secara bersamaan.

Bagaimana dengan kamu? Pernahkah Anda menggunakan perintah rename di masa lalu? Bagaimana Anda lebih suka mengganti nama beberapa file sekaligus?


Linux
  1. Cara Mengganti Nama File di Linux

  2. Cara Membuat Zip Banyak File di Linux

  3. Bagaimana Cara Mengganti Nama Banyak File Dalam Satu Perintah Atau Skrip Di Unix??

  1. Bagaimana Cara Mengganti Nama Banyak File Menggunakan Find?

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

  3. Cara mengganti string dalam banyak file di baris perintah linux

  1. Cara Mengganti Nama Direktori di Linux

  2. Bagaimana cara menghapus banyak file sekaligus di Bash di Linux?

  3. Bagaimana cara mengganti nama banyak file dalam satu perintah atau skrip di Unix?