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


Pada 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 hal ini, namun kami akan menjelaskan dua metode yang paling efisien dan andal. Untuk keperluan panduan ini, kami telah menggunakan direktori bernama Files yang memiliki struktur 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 dengan utilitas find untuk mengganti nama semua file atau subdirektori dalam 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.

  • -kedalaman – mencantumkan konten setiap direktori sebelum direktori itu sendiri.
  • -n 1 – memerintahkan xargs untuk menggunakan paling banyak satu argumen per baris perintah dari keluaran find.

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

Cara alternatif lain menggunakan perintah find dan mv pada script 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-Jenis File di Linux
  2. fswatch – Memantau Perubahan atau Modifikasi File dan Direktori di Linux
  3. Fasd – Alat Commandline 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 ada kesalahan, silakan hubungi kami melalui formulir umpan balik di bawah. Anda juga dapat menawarkan kami metode lain untuk melakukan hal yang sama.