2011-12-27 106 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 {} \;