Я считаю, что вам нужен -o
, который будет печатать только совпадающую часть. Затем вы можете сделать следующее:
cat example.log | egrep -o 'pat1|pat2|pat3|pat4|pat5' | sort | uniq
Если вывод содержит шаблон, это потому, что хотя бы одна строка соответствует этому шаблону. Если вывод содержит все 5 шаблонов, каждый шаблон соответствует хотя бы одной строке.
Не работает с регулярными выражениями, которые могут соответствовать разным символам или совпадениям разной длины.