如何打印包含特定字符串的所有超过 10 天的文件



我已经尝试过了,但不起作用。

find . -mtime +10 -print| grep -H -r "test" | cut -d: -f1

您可以使用xargs并处理 find 找到的文件,但仅find可以做到:

find . -mtime +10 -exec grep -l "test" {} +
  • find ... -exec XXX {} ;(或+,感谢凯文)对find找到的文件执行XXX命令。
  • grep -l只显示文件的名称,因为我认为您正在尝试使用cut -d: -f1.

您可能还需要添加-type f以仅查找文件,而不查找目录。

您必须使用 xarg 执行,如下所示:

find . -mtime +10 -print0 | xargs -0 grep -H -r "test" | cut -d: -f1

编辑

我插入了选项,这样您就不会遇到文件名中的空格问题。

最新更新