Мы используем систему HP SiteScope на работе для мониторинга журналов и получения предупреждений при обнаружении специальной строки или комбинации строк.

Есть одно поле, в которое помещается регулярное выражение, которое перехватывает строки, однако я хочу исключить некоторые результаты, которые мы получаем с помощью reg exp. Например:

grep -E '(GOOD_STRING1|GOOD_STRING2)' | grep -v BAD_STRING

должен быть преобразован в единую рег. Что-то вроде этого:

grep -E '(GOOD_STRING1|GOOD_STRING2)!BAD_STRING)'

Это возможно?

1 ответ1

1

Вы можете сделать это с помощью регулярных выражений Perl:

$ echo 'GOOD_STRING1
> GOOD_STRING1BAD_STRING' | grep -P '(GOOD_STRING1|GOOD_STRING2)(?!BAD_STRING)'
GOOD_STRING1

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