GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengganti Nama File di Linux

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

Ubuntu
  1. Cara Mengganti Nama File di Linux

  2. Cara Membuat File Dengan Ukuran Tertentu Di Linux

  3. Cara Mengganti Nama Banyak File Sekaligus di Linux

  1. Cara menemukan file di Linux

  2. Cara Mengganti Nama Direktori di Linux

  3. Cara menggunakan Perintah Su di Linux

  1. Cara Mengganti Nama File dan Direktori di Linux

  2. Ganti Nama Perintah di Linux (Ganti Nama Banyak File)

  3. Perintah Rm di Linux