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.
- Penjelasan “Semuanya adalah File” dan Jenis File di Linux
- fswatch – Memantau Perubahan atau Modifikasi Berkas dan Direktori di Linux
- Fasd – Alat Baris Perintah yang Menawarkan Akses Cepat ke File dan Direktori
- 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.