2011-12-27 62 views
0

要获取包含'compact'目录中的'measure_remove'这个词的文件名, 我做了这个命令。unix pipe命令与find的混合

find ./compact/type f -exec grep -n'measure_remove'{} \ -exec ls {} \;

  • 的grep:LS: '没有这样的文件或目录'
  • 的grep:-exec: '没有这样的文件或目录'
  • ./compact/prepare.js: 44509:=“measure_remove”;
  • 的grep:LS:“没有这样的文件或目录”
  • 的grep:-exec:“没有这样的文件或目录”

它的工作原理,但我只是想获取文件名和结果。 有多种方式吗?

+0

使用grep -l ......................。 – 2011-12-27 16:15:45

回答

0

如果你只是想匹配的文件名,通过-l(EL)与grep:

 
$ find compact -type f -exec grep -l 'measure_remove' {} \; 

如果你也想行相匹配,一些grep的接受-H,但所有的grep要打印的文件名称,如果你给它2个文件名。一种常用的技术是将/ dev/null作为第二个文件来搜索:

 
$ find compact -type f -exec grep -n measure_remove /dev/null {} \;