web-dev-qa-db-ja.com

grepが見つけた行数を数える

ディレクトリ構造を再帰的に調べているときに、grepによってパターンのインスタンスがいくつ見つかったかを知りたい。行を数えるものを通してgrepの出力をパイプ処理できるはずです。

5
2NinerRomeo

この質問 の助けを借りて答えをまとめることができました。プログラム「wc」プログラムは、改行、単語、バイト数をカウントします。 「-l」オプションは、行数が必要であることを指定します。私のアプリケーションでは、「somePattern」のインスタンスの数を数えるために以下がうまく機能しました:

$grep -r "somePattern" | wc -l
10
2NinerRomeo

少なくともGNUツール:

grep -rcZ "some_pattern" | awk -F'\0' '{s+=$NF}END{print s}'

これはwc -lに比べて速度が優れている可能性があります。

名前に改行が含まれるファイルでも機能します。

0
Runium