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

时间:2013-11-08 15:43:08

标签: bash ubuntu find

我试过这个但没有用。

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

2 个答案:

答案 0 :(得分:2)

您可以使用xargs并处理find找到的文件,但find可以单独执行此操作:

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

您可能还需要添加-type f来查找文件,没有目录。

答案 1 :(得分:0)

您必须使用xargs执行:

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

修改

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