小さいほうが好き:
rename 'y/A-Z/a-z/' *
OS X の HFS+ などの大文字と小文字を区別しないファイルシステムでは、 -f
を追加する必要があります。 フラグ:
rename -f 'y/A-Z/a-z/' *
"rename"
を使用した簡潔なバージョン コマンド:
find my_root_dir -depth -exec rename 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;
これにより、ファイルの前にディレクトリの名前が変更されたり、ファイルを存在しないディレクトリに移動しようとしたりする問題が回避されます (例:"A/A"
"a/a"
に ).
または、 "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
追伸
後者では、移動コマンドをより柔軟に使用できます (たとえば、"svn mv"
).