Saya memiliki direktori dan beberapa ekstensi file dalam huruf besar (.JPG), bukan huruf kecil.
Saya ingin memastikan setiap file memiliki .jpg sebagai ekstensi. Bagaimana saya melakukan ini dari prompt shell?
Saya memiliki direktori dan beberapa ekstensi file dalam huruf besar (.JPG), bukan huruf kecil.
Saya ingin memastikan setiap file memiliki .jpg sebagai ekstensi. Bagaimana saya melakukan ini dari prompt shell?
Jawaban:
Menggunakan Shell Parameter Expansion :
for f in *.JPG; do
mv "${f}" "${f%%.JPG}.jpg"
done
The "
karakter akan mengurus nama file yang mengandung spasi, foto-foto sering.
/path/to/*.JPG
. Anda dipersilakan untuk mengirimkan jawaban Anda sendiri, tentu saja :)
Jika Anda dapat menggunakan alat eksternal (tidak hanya bash), periksa rename
perintah!
rename .JPG .jpg *
Itu rename
adalah bagian dari util-linux
.
perl
yang menerima argumen berbeda untuk melakukan hal yang sama.
Jika Anda memiliki spasi dalam nama file:
for f in *.JPG; do [[ -f "${f}" ]] && mv "${f}" "${f/%JPG/jpg}"; done
jika Anda tidak memiliki spasi di nama file:
for f in *.JPG; do mv $f `echo $f | sed 's/JPG$/jpg/'`; done
mv
.