在特定目录中查找早于 x 时间的文件,并忽略子目录

在特定目录中查找早于 x 时间的文件,并忽略子目录

我的设置如下:

文件夹结构

dir
 |--correctfile1
 |--correctfile2
 |--correctfile3
 |--subdir1
   |--wrongfile1
   |--wrongfile2
   |--wrongfile3
 |--subdir2
 |--subdir3

我需要查明其中是否有dir超过 3 分钟的文件。这意味着我应该忽略文件夹subdir1, subdir2 and subdir3并仅在主目录中搜索dir

我有以下一行

find $dir -mmin +3 -type f

但这也打印 subdir1 中的文件

一些额外的信息:

操作系统5.3

find 命令没有-maxdepth-mindepth-or-not-path选项


联机帮助页:http://textuploader.com/oe0r

答案1

防止递归的一种可移植方法是在顶层目录以外的目录上find执行操作。-prune

find "$dir" \! -name "$(basename -- "$dir")" -type d -prune -o -mmin +3 -type f -print

相关内容