grep异常但排除特定的异常

Kat*_*hie 5 regex unix shell grep

我目前正在从文件中匹配"Exception",并在使用之前和之后输出10行:

grep -C 10"[.*例外"

但是现在我希望排除某些特定的异常,比如AAAExceptionBBBException,我怎么能这样做呢?它可以通过

grep -v"AAAException"| grep -C 10"[.*例外"

但是如果在文件中,我在其他异常的10行内有AAAException,那么该行不会包含在输出中,这不是我想要的.我怎么能不匹配AAAException,但如果它发生在其他异常的10行内,它仍将包含在输出中?

tri*_*eee 5

如果你有,grep -P你可以指定负面的lookbehind断言.

grep -C 10 -P '\[.*(?<!AAA|BBB)Exception' 
Run Code Online (Sandbox Code Playgroud)