grepで見つかった行数を数える

grepで見つかった行数を数える

ディレクトリ構造を再帰的に検索しているときに、grep によってパターンのインスタンスがいくつ見つかるかを知りたいです。行数をカウントする何かを介して grep の出力をパイプできるはずです。

答え1

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

$grep -r "somePattern" filename | wc -l

答え2

少なくとも GNU ツールの場合:

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

と比較して速度面で優れている可能性がありますwc -l

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

関連情報