使用Unix“find”遍历特定文件夹路径

vngu2lb8  于 2023-03-08  发布在  Unix
关注(0)|答案(1)|浏览(151)

我的目录结构如下
/top-level
/top-level/1/top-level/2,... /top-level/nn
x1米4英寸1x、x1米5英寸1x、x1米6英寸1x
在每个编号的分支中,只有dir3保存感兴趣的文件。理想情况下,我希望find只查看dir3,而忽略该级别的任何其他目录(可能有超过2个要忽略)。目前,我正在使用这行工作,但执行时间似乎表明find正在进入dir1dir2,并对照-path检查每个文件,这非常耗时且毫无意义:

find /top-level -path '/top-level/[0-9]*/dir3/*.log' -type f -mtime +1 -print

我试图找到一个“条件”,只允许dir3“通过”,但找不到任何只在“目录级别”工作的东西。我还试图找到一种方法来使用-prune,而不必有一个枚举的文件夹列表不搜索,但一直无法拿出一个语法的工作。
任何有见地的想法是赞赏。

fkaflof6

fkaflof61#

使用-prune以避免降序到非folder3目录。

find /top-level \( ! -name folder3 -type d -prune \) -type f -mtime +1 -print

相关问题