2011-08-04 19 views
5

-ln grepのためのマニュアルに従って、のgrep -lとgrep

-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-filenameに
印刷各試合のファイル名。

-n、--line-数
プレフィックスその入力ファイル内の行番号を出力の各行。

-m NUM、--maxカウント= NUM一致した行の後にファイルを読み込むNUM
ストップ。