用shell写的递归遍历目录的脚本,脚本实现递归遍历指定目录,打印目录下的文件名。
实例1:
实例2:递归读取目录及其子目录
#测试目录 test
read_dir test
实例3:
#!/bin/bash
#modify.func
doit() //处理当前目录下的非目录文件,忽略目录文件
{
oldname=`ls | grep "$1$"`
for name in $oldname
do
if [ -d "$name" ]
then :
else
basename=`echo $name | awk -F "." '{print $1}'`
newname="$basename$2"
echo -e "$PWD/$name\t\t$newname"
mv $name $newname
count=`expr ${count} + 1`
fi
done
return 0
}
do_recursive() //从当前目录开始,递归处理各目录
{
doit $1 $2
for filename in `ls`
do
if [ -d "$filename" ]
then
cd $filename
do_recursive $1 $2
cd ..
fi
done
return 0
}
modify() //处理当前目录,并报告结果,这个相当于主函数,也可以直接调用do_recursive
{
PARAMS=2
if [ $# -ne $PARAMS ]
then
echo "usage: mv_to .suf1 .suf2"
return 1
fi
count=0
do_recursive $1 $2
echo "complete! $count files have been modified."
return 0
}
标签:许昌 金昌 淘宝邀评 马鞍山 赤峰 邵阳 巴彦淖尔 娄底
巨人网络通讯声明:本文标题《shell脚本递归遍历目录及子目录的例子分享》,本文关键词 shell,脚本,递归,遍历,目录,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。