Masih lebih kecil saya cukup suka:
rename 'y/A-Z/a-z/' *
Pada sistem file yang tidak peka huruf besar kecil seperti HFS+ OS X, Anda ingin menambahkan -f
bendera:
rename -f 'y/A-Z/a-z/' *
Versi ringkas menggunakan "rename"
perintah:
find my_root_dir -depth -exec rename 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;
Ini menghindari masalah dengan direktori yang diganti namanya sebelum file dan mencoba memindahkan file ke direktori yang tidak ada (mis. "A/A"
ke dalam "a/a"
).
Atau, versi yang lebih panjang tanpa menggunakan "rename"
.
for SRC in `find my_root_dir -depth`
do
DST=`dirname "${SRC}"`/`basename "${SRC}" | tr '[A-Z]' '[a-z]'`
if [ "${SRC}" != "${DST}" ]
then
[ ! -e "${DST}" ] && mv -T "${SRC}" "${DST}" || echo "${SRC} was not renamed"
fi
done
N.B.
Yang terakhir memungkinkan lebih banyak fleksibilitas dengan perintah move (misalnya, "svn mv"
).