Grepは、一致の総数をカウントする方法を提供していますか? -cオプションは、正規表現に一致した行数のみを返しますが、この場合、1行に複数の一致があります。
これを試して:
grep -o -E "your expression" file |wc -l
まあ、-Eは単なる例であり、-P、-Fなどになる可能性があります。ポイントは-oです。
テスト:
kent$ echo "abc xxx yyy"|grep -cP "[a-z]{3}"
1
kent$ echo "abc xxx yyy"|grep -oP "[a-z]{3}"|wc -l
3
行の一致したサブセクションのみが印刷されることを示す-oフラグがあります。
これをwc -lと組み合わせて使用します。
grep -o "part of line" | wc -l
man grep でも説明されています。
他の回答の代わりに、grepだけを使用します。
grep -o "seach pattern" somefile.txt | grep -c ""
最初のgrepの-oは各一致を出力し、一致全体を出力します-行全体ではありません(もちろん、行全体IS一致が一致しない限り)。2番目のgrepの-cそれらを数える。
入力する文字はさらにいくつか(4や5など)ですが、覚えやすいと思います。