将参数中的目录及其下一级子目录的名字中的大写转换为小写

来源:互联网 发布:程序员用什么软件编程 编辑:程序博客网 时间:2024/05/25 12:22

# change the given directory and all its subdirectory to LOWER-CASE names
cvitem() 
{
    echo "mv $1 `dirname $1`/`basename $1 | tr /
    'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`"
}

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

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