Ganti nama - Alat baris perintah untuk mengganti nama beberapa file di Linux

Ganti nama - Alat baris perintah untuk mengganti nama beberapa file di Linux

Kita sering menggunakan "MVPerintah untuk mengganti nama satu file di Linux. Namun, mengganti nama beberapa atau kelompok file dengan cepat menjadikannya tugas yang sangat sulit di terminal.

Linux Dilengkapi dengan alat bawaan yang sangat kuat yang disebut ganti nama. Itu ganti nama Perintah digunakan untuk mengganti nama beberapa atau grup file, mengganti nama file ke huruf kecil, mengganti nama file menjadi file huruf besar dan menimpa menggunakan Perl Expressions.

The "ganti namaPerintah adalah bagian dari Perl skrip dan itu berada di bawah “/usr/bin/”Pada banyak distribusi Linux. Anda bisa berlari "yangPerintah untuk mengetahui lokasi perintah ganti nama.

$ ganti nama/usr/bin/ganti nama
Sintaks dasar perintah ganti nama
Ganti nama file/nama lama/new-name/'

Perintah ganti nama dilengkapi dengan beberapa argumen opsional bersama dengan wajib Ekspresi Perl yang memandu mengganti nama perintah untuk melakukan pekerjaan yang sebenarnya.

ganti nama [-v] [-n] [-f] perlexpr [file]
  1. -v: Cetak nama file berhasil diganti namanya.
  2. -N: Tunjukkan file apa yang akan diganti namanya.
  3. -F: Paksa menimpa file yang ada.
  4. perlekspr: Ekspresi perl.

Untuk pemahaman yang lebih baik tentang utilitas ini, kami telah membahas beberapa contoh praktis dari perintah ini dalam artikel.

1. Contoh perintah ganti nama dasar

Misalkan Anda banyak file dengan ".html"Ekstensi dan Anda ingin mengganti nama semua".html"File ke".php"Dalam satu perjalanan. Misalnya, pertama lakukan "ls -l"Untuk memeriksa daftar file dengan".html"Ekstensi.

# [Email Dilindungi]: ~ $ ls -l Total 22532 -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 Okt 12:10 Cricket.html -rw-rw-r-- 1 ravisaive ravisaive 588895 10 Okt 12:10 hiburan.html -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 Okt 12:10 Kesehatan.html -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 Okt 12:10 Lifestyle.html -rw-rw-r-- 1 ravisaive ravisaive 938895 10 Okt 12:10 Berita.html -rw-rw-r-- 1 ravisaive ravisaive 938937 10 Okt 12:11 Foto.html -rw-rw-r-- 1 ravisaive ravisaive 978137 10 Okt 12:11 Olahraga.html

Sekarang, Anda ingin mengubah ekstensi semua file ini dari “.html" ke ".php“. Anda dapat menggunakan yang berikut “ganti nama“Perintah dengan Ekspresi Perl seperti yang ditunjukkan di bawah ini.

[email dilindungi]: ~ $ ganti nama s/\.html $/\.php/' *.html

Catatan: Dalam perintah di atas kami telah menggunakan dua argumen.

  1. Argumen pertama adalah a Ekspresi Perl pengganti itu .html dengan .php.
  2. Argumen Kedua Memberitahu Perintah Ganti Nama untuk menggantikan semua file dengan *.php.

Mari kita verifikasi apakah semua file diganti namanya menjadi ".phpEkstensi, melakukan ls -l di prompt.

[Email Dilindungi]: ~ $ ls -l Total 22532 -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 Okt 12:10 Cricket.php -rw-rw-r-- 1 ravisaive ravisaive 588895 10 Okt 12:10 hiburan.php -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 Okt 12:10 Kesehatan.php -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 Okt 12:10 Lifestyle.php -rw-rw-r-- 1 ravisaive ravisaive 938895 10 Okt 12:10 Berita.php -rw-rw-r-- 1 ravisaive ravisaive 938937 10 Okt 12:11 Foto.php -rw-rw-r-- 1 ravisaive ravisaive 978137 10 Okt 12:11 Olahraga.php

Sekarang Anda dapat melihat di atas itu semua html File diganti namanya menjadi php.

2. Periksa perubahan sebelum menjalankan perintah ganti nama

Saat melakukan tugas ganti nama yang kritis atau besar, Anda selalu dapat memeriksa perubahan dengan menjalankan perintah ganti nama dengan "-NArgumen. The "-N"Parameter akan memberi tahu Anda dengan tepat perubahan apa yang akan terjadi, tetapi perubahan tidak dilakukan secara nyata. Di sini, adalah contoh perintah di bawah ini.

[Email Dilindungi]: ~ $ ganti nama -n 's/\.php $/\.html/' *.kriket php.PHP berganti nama menjadi kriket.HTML Entertainment.PHP berganti nama menjadi hiburan.Kesehatan HTML.PHP berganti nama menjadi kesehatan.HTML Lifestyle.PHP berganti nama sebagai gaya hidup.Berita HTML.PHP berganti nama menjadi berita.foto html.PHP berganti nama menjadi foto.HTML Sports.PHP berganti nama menjadi olahraga.html

Catatan: Output perintah di atas hanya menampilkan perubahan, tetapi secara nyata perubahan tidak dilakukan, kecuali jika Anda menjalankan perintah tanpa “-N" mengalihkan.

3. Cetak output ganti nama

Kami melihat bahwa perintah ganti nama tidak menampilkan informasi perubahan apa pun yang dilakukannya. Jadi, jika Anda ingin mendapatkan detail perintah ganti nama (seperti yang kami lakukan "-N"Opsi), di sini kami menggunakan"-v"Opsi untuk mencetak detail lengkap dari semua perubahan yang dilakukan dengan mengganti nama perintah dengan sukses.

[Email Dilindungi]: ~ $ Rename -V 'S/\.php $/\.html/' *.kriket php.PHP berganti nama menjadi kriket.HTML Entertainment.PHP berganti nama menjadi hiburan.Kesehatan HTML.PHP berganti nama menjadi kesehatan.HTML Lifestyle.PHP berganti nama sebagai gaya hidup.Berita HTML.PHP berganti nama menjadi berita.foto html.PHP berganti nama menjadi foto.HTML Sports.PHP berganti nama menjadi olahraga.html

4. Konversi semua huruf kecil menjadi huruf besar dan vise-versa

Untuk mengganti nama semua file dengan huruf kecil nama untuk huruf besar. Misalnya, saya ingin menutupi semua file berikut ini dari lebih rendah ke atas kasus.

Kasus bawah ke atas
[Email Dilindungi]: ~ $ ls -l Total 22532 -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 Okt 12:10 Cricket.html -rw-rw-r-- 1 ravisaive ravisaive 588895 10 Okt 12:10 hiburan.html -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 Okt 12:10 Kesehatan.html -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 Okt 12:10 Lifestyle.html -rw-rw-r-- 1 ravisaive ravisaive 938895 10 Okt 12:10 Berita.html -rw-rw-r-- 1 ravisaive ravisaive 938937 10 Okt 12:11 Foto.html -rw-rw-r-- 1 ravisaive ravisaive 978137 10 Okt 12:11 Olahraga.html

Hanya, gunakan perintah berikut dengan ekspresi perl.

[email dilindungi]: ~ $ ganti nama 'y/a-z/a-z/' *.html

Setelah Anda menjalankan perintah di atas, Anda dapat memeriksa perubahan dengan melakukan "ls -l“.

[Email Dilindungi]: ~ $ ls -l Total 22532 -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 Okt 12:10 Cricket.Html -rw-rw-r-- 1 ravisaive ravisaive 588895 10 Okt 12:10 hiburan.Html -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 Okt 12:10 Kesehatan.Html -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 Okt 12:10 Lifestyle.Html -rw-rw-r-- 1 ravisaive ravisaive 938895 10 Okt 12:10 Berita.Html -rw-rw-r-- 1 ravisaive ravisaive 938937 10 Okt 12:11 Foto.Html -rw-rw-r-- 1 ravisaive ravisaive 978137 10 Okt 12:11 Olahraga.Html

Anda dapat melihat bahwa perintah di atas benar -benar berganti nama menjadi semua nama file kasus kecil (dengan .Html ekstensi) ke huruf besar.

Kasus kecil ke bawah

Demikian pula, Anda juga dapat mengonversi semua huruf besar karakter untuk huruf kecil Menggunakan perintah berikut.

[email dilindungi]: ~ $ ganti nama 'y/a-z/a-z/' *.Html
[Email Dilindungi]: ~ $ ls -l Total 22532 -rw-rw-r-- 1 ravisaive ravisaive 6888896 10 Okt 12:10 Cricket.html -rw-rw-r-- 1 ravisaive ravisaive 588895 10 Okt 12:10 hiburan.html -rw-rw-r-- 1 ravisaive ravisaive 6188895 10 Okt 12:10 Kesehatan.html -rw-rw-r-- 1 ravisaive ravisaive 6538895 10 Okt 12:10 Lifestyle.html -rw-rw-r-- 1 ravisaive ravisaive 938895 10 Okt 12:10 Berita.html -rw-rw-r-- 1 ravisaive ravisaive 938937 10 Okt 12:11 Foto.html -rw-rw-r-- 1 ravisaive ravisaive 978137 10 Okt 12:11 Olahraga.html

5. Kapitalisasi surat file pertama

Untuk memanfaatkan hanya huruf pertama dari setiap nama file, gunakan perintah berikut.

# ganti nama s/\ b (\ w)/\ u $ 1/g ' *.ext 
Memanfaatkan nama file huruf pertama

6. Menimpa file yang ada

Jika Anda ingin secara paksa menimpa file yang ada, gunakan “-FOpsi seperti yang ditunjukkan di bawah ini.

[Email Dilindungi]: ~ $ ganti nama -f/a/b/' * *.html

Jika Anda ingin tahu lebih banyak tentang perintah ganti nama, ketikkan "Ganti nama pria”Di Terminal.

Itu ganti nama Perintah sangat berguna, jika Anda berurusan dengan beberapa atau mengganti nama file dari baris perintah. Cobalah dan beri tahu saya, seberapa jauh berguna dalam hal penggantian nama file.