Saat bekerja dengan Linux, Anda mungkin menemukan beberapa utilitas dan aplikasi yang hanya berfungsi dengan nama file dalam huruf kecil. Kami biasanya tidak menyimpan file dalam format ini dan mungkin harus mencari solusi yang secara rekursif mengubah semua nama file dalam folder menjadi huruf kecil. Dalam artikel ini, kami akan menunjukkan kepada Anda dua cara untuk mengonversi semua file dan nama folder di jalur tertentu menjadi huruf kecil, cukup melalui baris perintah.
Kami telah menjalankan perintah dan prosedur yang disebutkan dalam artikel ini pada sistem Ubuntu 18.04 LTS.
Berikut adalah bagaimana Anda dapat membuat daftar isi folder Anda menggunakan perintah find:
$ temukan [directory_name] -kedalaman
Folder Unduhan saya, yang akan saya gunakan sebagai contoh untuk artikel ini, memiliki semua file mulai dari huruf besar dan juga berisi beberapa di antara nama.
$ find Downloads -depth
Metode 1:Menggunakan perintah rename
Dalam metode ini, kita akan menggunakan perintah find, Xargs, dan rename Ubuntu untuk mengganti nama semua file/folder secara rekursif dalam direktori tertentu.
Buka baris perintah Ubuntu Anda, Terminal, baik melalui pencarian Peluncur Aplikasi atau pintasan Ctrl+Alt+T.
Berikut adalah sintaks dari perintah yang akan Anda gunakan:
$ temukan [nama_direktori] -kedalaman | xargs -n 1 rename -v ‘s/(.*)\/([^\/]*)/$1\/\L$2/’ {} \;
Jika Anda tidak menginstal perintah rename di sistem Anda, Anda mungkin mendapatkan kesalahan saat menjalankan perintah di atas. Anda dapat menginstal rename ke Ubuntu Anda melalui perintah apt-get berikut:
$ sudo apt-get install rename
Saya akan menggunakan perintah berikut untuk mengonversi nama file menjadi huruf kecil di direktori Unduhan saya:
$ find Downloads -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;
Ketika saya membuat daftar isi direktori lagi, saya dapat melihat semua nama file diubah menjadi huruf kecil sebagai berikut:
Metode 2:Menggunakan skrip untuk mengganti nama file
Dalam metode ini, kita akan menggunakan skrip bash yang menggunakan perintah find dan mv untuk mengganti nama file dan folder direktori secara rekursif, termasuk nama direktori itu sendiri.
Buka aplikasi Terminal dan pindahkan ke folder bin sebagai berikut:
$ cd ~bin
Sekarang, buka file skrip baru di salah satu editor teks favorit Anda. Kami akan menggunakan editor nano untuk membuka file skrip kosong dengan nama lowercase_filenames.sh
$ sudo nano lowercase_filenames.sh
Di file kosong itu, tambahkan skrip berikut.
#!/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 exit 0
Kiat: Alih-alih mengetik seluruh skrip ke dalam file bash Anda, Anda dapat menyalinnya dari sini dan menempelkannya di Terminal dengan menggunakan Ctrl+Shift+V, atau dengan menggunakan opsi Tempel dari menu klik kanan.
Ini adalah bagaimana file Anda akan terlihat seperti:
Sekarang, keluar dari file melalui pintasan Ctrl + X dan simpan file di "Simpan buffer yang dimodifikasi?" prompt dengan mengetik Y lalu tekan enter.
Untuk membuat file ini menjadi skrip yang dapat dieksekusi, jalankan perintah berikut di Terminal Anda:
$ sudo chmod +x lowercase_filenames.sh
Sekarang Anda siap menggunakan skrip di folder mana pun.
Ketika saya menjalankan skrip di folder Unduhan saya, saya melihat semua file dan nama subfolder dikonversi ke huruf kecil sebagai berikut:
Jadi, ini adalah dua cara di mana Anda dapat mengubah nama file menjadi huruf kecil semua sehingga aplikasi yang Anda gunakan tidak gagal untuk mengenali nama file huruf besar.