千家信息网

怎么用shell写递归遍历目录及子目录的脚本

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"怎么用shell写递归遍历目录及子目录的脚本",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用shell写递归遍历目录及子目录的
千家信息网最后更新 2026年11月02日怎么用shell写递归遍历目录及子目录的脚本

这篇文章主要讲解了"怎么用shell写递归遍历目录及子目录的脚本",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用shell写递归遍历目录及子目录的脚本"吧!

用shell写的递归遍历目录的脚本,脚本实现递归遍历指定目录,打印目录下的文件名。

实例1:

代码如下:


#!/bin/sh

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
echo ${cur_dir}/${dirlist}
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

实例2:递归读取目录及其子目录

代码如下:

#! /bin/bash
function read_dir(){
for file in `ls $1`
do
if [ -d $1"/"$file ] //注意此处之间一定要加上空格,否则会报错
then
read_dir $1"/"$file
else
echo $1"/"$file
fi
done
}

#测试目录 test
read_dir test
这样给test.sh加上执行权限即可执行

代码如下:

chmod +x test.sh
sh test.sh


到此即可通过传递参数来读取目录文件了。

实例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写递归遍历目录及子目录的脚本这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

目录 递归 子目 子目录 脚本 代码 文件 实例 处理 学习 内容 之间 函数 参数 就是 思路 情况 报告 文件名 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网黑科技 互联网科技公司经营范围 河南云网互联网络科技有限公司 互联网科技工作委员会毛军 互联网金融 科技金融 成都互联网科技公司 老年人脱离互联网科技的作文 须眉科技是互联网公司吗 互联网科技中介 和信科技工业互联网 呼和浩特新华互联网科技学院 特约风豹互联网科技为什么扣费 工业互联网山东科技大学 怎样加入科技互联网 工业互联网科技成果转化 卡尔迅互联网科技有限公司 长沙渺峰互联网科技有限公司 互联网科技职业技能培训学校 互联网对科技影响 上海旺乐尼互联网科技有限公司 互联网 卓越科技 壕鑫互联网络科技 长亮科技 互联网金融 宁夏科技产业互联网案例 河南猎农互联网科技有限公司 996高科技互联网公司 东莞新华互联网科技学校 明优互联网科技有限公司 互联网科技年终奖 济南小医互联网科技有限公司招聘
0