28

Предлагает ли grep подсчитать общее количество совпадений? Опция -c возвращает только количество строк, соответствующих регулярному выражению, но в этом случае у меня несколько совпадений на строку.

2 ответа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 это тоже объясняет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .