grep Exception, но исключить конкретное исключение

В настоящее время я отвечаю за "Исключение" из файла и выведите 10 строк до и после использования:

grep -C 10 "[.*Exception"

Но теперь я хочу исключить некоторые конкретные исключения, скажем,AAAException а такжеBBBExceptionкак я мог это сделать? Это можно сделать через

grep -v "AAAException" | grep -C 10 "[.*Exception"

Но если в файле, у меня естьAAAException в пределах 10 строк от какого-то другого исключения, эта строка не будет включена в вывод, а это не то, что я хочу. Как я могу не соответствоватьAAAException, но если это произошло в пределах 10 строк от какого-то другого исключения, оно все равно будет включено в вывод?

Ответы на вопрос(2)

Если ваш положительный образец соответствияException это слово, т. е. не предшествует / сопровождается другими алфавитами, тогда вы можете использовать слово-границы.

$ grep -C 10 '\<NullPointerException\>\|\<SessionTimeoutException\>'

Если у вас естьgrep -P Вы можете указать отрицательный взгляд за утверждением.

grep -C 10 -P '\[.*(?<!AAA|BBB)Exception' 

ВАШ ОТВЕТ НА ВОПРОС