使用Shell遍历目录及其子目录中的所有文件方法

https://www.jb51.net/article/142325.htm

新建一个shell文件

1
$ vi traveDir.sh

输入以下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#! /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
}
#读取第一个参数
read_dir $1

执行指令

1
$ sh traveDir.sh DIR_NAME

以上这篇使用Shell遍历目录及其子目录中的所有文件方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

---验证通过

#! /bin/bash
function read_dir(){
s2=/java/apache-tomcat-9.0.31/webapps/log
for file in `ls $1` #注意此处这是两个反引号,表示运行系统命令
do
if [ -d $1"/"$file ] #注意此处之间一定要加上空格,否则会报错
then
read_dir $1"/"$file
else
echo $1"/"$file $s2"/"$file #在此处处理文件即可
ln $1"/"$file $s2"/"$file
fi
done
}
#读取第一个参数
read_dir $1

原文地址:https://www.cnblogs.com/zhoading/p/12601672.html