Как найти определенный шаблон в файле журнала и подсчитать количество совпадений?

Как найти определенный шаблон в файле журнала и подсчитать количество совпадений?

В очень большом файле журнала у меня есть записи вроде:

ВХОД ПОТОКА somecompany.somepackage.datacontrol.provider.DataProvider@c37ae61.выпускать()

Единственное различие между записями — это строка после @и до .release()(выделенная жирным шрифтом часть).

Существуют и другие записи, подобные следующим, которые необходимо исключить из поиска:

ВХОД ПОТОКА somecompany.somepackage.datacontrol.provider.DataProvider@c37ae61.что-то другое()

Итак, мой шаблон поиска должен заканчиваться на.release().

Как узнать количество таких случаев в файле журнала (количество совпадающих строк), а также распечатать все совпадающие шаблоны?

PS: Я использую среду Linux.

решение1

Я думаю, grep -cчто опция является исключительной - невозможно объединить опцию -c с другой опцией для вывода соответствующих строк.Иколичество. Таким образом, использование tee выводит совпаденияИзапишите совпадения во временный файл, а затем подсчитайте количество строк в файле.

grep 'FLOW ENTERING.*release()' k  | tee /tmp/grep.tmp && wc -l /tmp/grep.tmp

решение2

вы можете использовать grep '.release()' file|wc -l

Связанный контент