0

我已经尝试过了,但没有工作。

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

2 回答 2

2

您可以利用xargs和处理找到的文件find,但find单独可以:

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

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

于 2013-11-08T15:47:00.177 回答
0

您必须使用 xargs 执行,例如:

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

编辑

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

于 2013-11-08T15:46:35.960 回答