Shell递归程序设计-批量转换大写文件名为小写

Shell递归程序设计-批量转换大写文件名为小写

下边的程序将参数指定的一个或多个目录项以及其下的多级子目录下的所有文件名和目录名转换为小写。


#cvlc.sh

cvitem()
{
echo"mv$1`dirname$1`/`basename$1|tr\
'ABCDEFGHIJKLMNOPQRSTUVWXYZ''abcdefghijklmnopqrstuvwxyz'`"
}

[$#=0]&&{echo"Usage:lcdiritem1item2...";exit;}

foritemin$*
do
["`dirname$item`"!="`basename$item`"]&&{
[-d$item]&&
{
forsubitemin`ls$item`
do
cvlc$item/$subitem
done
}
cvitem$item
}
done

#(End)