ディレクトリ構造を再帰的に検索しているときに、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
。
名前に改行が含まれるファイルでも機能します。