您的位置:首页 > 运维架构 > Linux

Linux目录递归改变文件名大小写

2016-03-30 10:31 686 查看
experiment目录递归,indent C standard style

[root@localhost Desktop]# ls

experiment-2.6-new.tar.bz2

digui-dir-alter-case.sh

experiment

[root@localhost Desktop]# ./digui-dir-alter-case.sh experiment

digui-dir-alter-case.sh 文件内容如下:

#!/bin/sh

#http://www.wenzizone.cn/?p=313

#晚上没事,用shell写了个递归遍历目录的脚本,本脚本实现递归遍历指定目录,打印目录下的文件名(全路径)。不为别的,就为了以后用着方便。

function scandir() {

local cur_dir parent_dir workdir

workdir=$1

cd ${workdir}

if [ ${workdir} = "/" ]

then

cur_dir=""

else

cur_dir=$(pwd)

fi

for dirlist in $(ls ${cur_dir})

do

if test -d ${dirlist};then

cd ${dirlist}

scandir ${cur_dir}/${dirlist}

cd ..

else

#在Linux系统下批量改变文件名字的大小写

for file in `ls | grep '[A-Z]'`

do

str=`echo $file|tr 'A-Z' 'a-z'`

mv $file $str

done

fi

done

}

if test -d $1

then

scandir $1

elif test -f $1

then

echo "you input a file but not a directory,pls reinput and try again"

exit 1

else

echo "the Directory isn't exist which you input,pls input a new one!!"

exit 1

fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: