GNU/Linux >> Belajar Linux >  >> Linux

Ganti Nama Semua File dan Nama Direktori menjadi Huruf Kecil di Linux

Dalam artikel kami sebelumnya, kami telah menjelaskan cara menghitung jumlah file dan subdirektori di dalam direktori tertentu. Panduan ini akan menunjukkan cara mengganti nama semua file dan direktori menjadi huruf kecil di Linux.

Baca Juga :Cara Mengetahui Direktori dan File Teratas (Ruang Disk) di Linux

Ada beberapa cara untuk mencapai ini, tetapi kami akan menjelaskan dua metode yang paling efisien dan andal. Untuk tujuan panduan ini, kami telah menggunakan direktori bernama Files yang memiliki struktur sebagai berikut:

# find Files -depth

1. Menggunakan find, xargs, dan rename Commands Together

rename adalah utilitas baris perintah sederhana untuk mengganti nama beberapa file sekaligus di Linux. Anda dapat menggunakannya bersama-sama dengan utilitas find untuk mengubah nama semua file atau subdirektori di direktori tertentu menjadi huruf kecil sebagai berikut:

$ find Files -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;

Penjelasan opsi yang digunakan pada perintah di atas.

  • -depth – daftar isi setiap direktori sebelum direktori itu sendiri.
  • -n 1 – menginstruksikan xargs untuk menggunakan paling banyak satu argumen per baris perintah dari find keluaran.

Contoh keluaran setelah mengganti nama file dan subdirektori menjadi huruf kecil di Files direktori.

Cara alternatif lain menggunakan perintah find dan mv dalam skrip seperti yang dijelaskan di bawah ini.

2. Menggunakan Perintah find dan mv di Shell Script

Pertama buat skrip Anda (Anda dapat memberi nama apa pun yang Anda suka):

$ cd ~/bin
$ vi rename-files.sh

Kemudian tambahkan kode di bawah ini di dalamnya.

#!/bin/bash
#print usage 
if [ -z $1 ];then
        echo "Usage :$(basename $0) parent-directory"
        exit 1
fi

#process all subdirectories and files in parent directory
all="$(find $1 -depth)"



for name in ${all}; do
        #set new name in lower case for files and directories
        new_name="$(dirname "${name}")/$(basename "${name}" | tr '[A-Z]' '[a-z]')"

        #check if new name already exists
        if [ "${name}" != "${new_name}" ]; then
                [ ! -e "${new_name}" ] && mv -T "${name}" "${new_name}"; echo "${name} was renamed to ${new_name}" || echo "${name} wasn't renamed!"
        fi
done

echo
echo
#list directories and file new names in lowercase
echo "Directories and files with new names in lowercase letters"
find $(echo $1 | tr 'A-Z' 'a-z') -depth

exit 0

Simpan dan tutup file, lalu buat skrip dapat dieksekusi dan jalankan:

$ chmod +x rename-files.sh
$ rename-files.sh Files     #Specify Directory Name

Anda mungkin juga ingin membaca artikel terkait berikut ini.

  1. Penjelasan “Semuanya adalah File” dan Jenis File di Linux
  2. fswatch – Memantau Perubahan atau Modifikasi Berkas dan Direktori di Linux
  3. Fasd – Alat Baris Perintah yang Menawarkan Akses Cepat ke File dan Direktori
  4. FSlint – Cara Menemukan dan Menghapus File Duplikat di Linux

Dalam panduan ini, kami menjelaskan kepada Anda cara mengganti nama semua file dan direktori menjadi huruf kecil di Linux. Jika mendapatkan kesalahan, silakan hubungi kami melalui formulir umpan balik di bawah ini. Anda juga dapat menawarkan kepada kami metode lain untuk melakukan hal yang sama.


Linux
  1. Temukan File dan Direktori di Linux Seperti Profesional

  2. Hapus File Dan Direktori Dengan Nama Mereka. Tidak ada berkas atau direktori seperti itu?

  3. Temukan banyak file dan ganti namanya di Linux

  1. Cara Menemukan File Di Linux Di Semua Direktori Secara Rekursif

  2. Temukan file dan direktori terbesar di Linux

  3. Temukan Semua [nama file].mp4 Dan Ganti Nama [nama file].audio?

  1. Linux Temukan Dan Hapus Semua Symlinks Yang Berkaitan Dengan Direktori?

  2. Gunakan Temukan Untuk Menemukan Direktori Tertentu Dan Hapus Semua File Di dalamnya Kecuali Satu Direktori?

  3. Bagaimana menemukan semua file yang jarang di Linux