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) |