如何只查找已更改目录中的文件?

如何只查找已更改目录中的文件?

目前我正在反复进行“查找”,但速度太慢。我正在“$root”内搜索非隐藏可执行文件,不包括“$root/bin”:

find "$root" -type f -perm -o+x -not -path "$root/bin/*" \( ! -regex '.*/\..*' \)

我想将 find 限制为仅查找 mtime 早于特定时间的目录。我仍然希望它递归到旧目录的子目录中,但我不希望它检查内部的常规文件,除非该目录通过我的实时检查。是否可以使用 GNU find 来执行此操作,或者我是否需要两次调用,一次调用查找目录,另一次调用检查其中的文件?

答案1

试试这个:

find "$root" -type d -mtime -1 ! -path "$root/bin*" -exec find "{}" -maxdepth 1 -type f -executable  \;

这不仅仅是一次find运行,但 maxdepth 应该加速结果。

相关内容