shell脚本,获取目录的结构,保存到文件
发布网友
发布时间:2022-04-27 07:04
我来回答
共1个回答
热心网友
时间:2022-04-18 10:23
使用递归的shell脚本没有find效率高。find 是为目录搜索而优化过的程序。
#!/bin/bash
DIR="$1"
if [ -z "$2"] ;then
echo "must set 2st argument for output file ." >& 2
exit 1
fi
OUT="$2"
DIR=$(readlink -m "$DIR")
#转换成绝对路径
find "$DIR" -type "d" >"$OUT"
#搜索目录保存到输出文件。追问find固然好,但是现在有两个问题:
1.目录内文件太多(上百万),直接find可能要停留很久,但我必须要知道程序是否还活着(所以才想一步一步来)
2.find的直接就深度遍历到底了,事实上,我可能只需要遍历到某一级(例如包含xxx目录的那一级)就不需要继续深度遍历了
如果find能解决这两个问题,那么用find也可以...
追答可以查看输出文件的体积是否在增长来判断是否还在运行。 -maxdepth 4 控制递归深度。