Ještě menší se mi docela líbí:
rename 'y/A-Z/a-z/' *
U souborových systémů nerozlišujících malá a velká písmena, jako je HFS+ OS X, budete chtít přidat -f
příznak:
rename -f 'y/A-Z/a-z/' *
Stručná verze s použitím "rename"
příkaz:
find my_root_dir -depth -exec rename 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;
Tím se vyhnete problémům s přejmenováním adresářů před soubory a pokusem o přesun souborů do neexistujících adresářů (např. "A/A"
do "a/a"
).
Nebo podrobnější verzi bez použití "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
P.S.
Ten umožňuje větší flexibilitu s příkazem move (například "svn mv"
).