2011-08-04 69 views
5
根據手冊的grep

grep的-l和grep -ln

-l, --files-with-matches 
      Suppress normal output; instead print the name of each input 
      file from which output would normally have been printed. The 
      scanning will stop on the first match. 

grep -l,當發現匹配時,這似乎在精,含有該匹配的文件名是呼應。

但是,當我做grep -ln,grep回聲事件的每一行。

確定grep -l確實意味着停止發現匹配的第一個匹配並停止掃描,而grep -ln會忽略-l標誌?

回答

6

這些選項不兼容。如果要顯示每個文件中第一個匹配的行號(僅限第一個匹配項),請使用grep -Hnm 1

-H,--with文件名
打印的文件名的每場比賽。

-n,--line數
前綴與它的輸入文件中的行號輸出的每一行。

-m NUM,--max計數= NUM
停止後NUM匹配線讀出的文件。