Linux目录递归改变文件名大小写的shell
时间:2014-06-23 03:45 来源:linux.it.net.cn 作者:IT网
Linux目录递归改变文件名大小写的shell
先来看看当前目录下有哪些东东:
复制代码 代码如下:[root@localhost Desktop]# ls
experiment-2.6-new.tar.bz2
dg_dir_files.sh
experiment
我们看到,当前目录下共有两个文件,一个目录。
[root@localhost Desktop]# ./dg_dir_files.sh experiment
dg_dir_files.sh
文件内容如下:
复制代码 代码如下:#!/bin/sh
#http://www.wenzizone.cn/?p=313
#递归遍历目录的脚本,本脚本实现递归遍历指定目录,打印目录下的文件名(全路径)。
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
(责任编辑:IT)
Linux目录递归改变文件名大小写的shell 先来看看当前目录下有哪些东东: 复制代码 代码如下:[root@localhost Desktop]# ls experiment-2.6-new.tar.bz2 dg_dir_files.sh experiment 我们看到,当前目录下共有两个文件,一个目录。 [root@localhost Desktop]# ./dg_dir_files.sh experiment dg_dir_files.sh 文件内容如下: 复制代码 代码如下:#!/bin/sh #http://www.wenzizone.cn/?p=313 #递归遍历目录的脚本,本脚本实现递归遍历指定目录,打印目录下的文件名(全路径)。 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 (责任编辑:IT) |