Предлагает ли grep подсчитать общее количество совпадений? Опция -c возвращает только количество строк, соответствующих регулярному выражению, но в этом случае у меня несколько совпадений на строку.
2 ответа
28
попробуй это:
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
8
Существует флаг -o, который указывает, что должен быть напечатан только соответствующий раздел строки.
Используйте это вместе с wc -l:
grep -o "part of line" | wc -l
man grep это тоже объясняет.