regex - grep 异常但排除特定异常

标签 regex shell unix grep

我目前正在从文件中匹配“异常”,并在使用前后输出 10 行:

grep -C 10 "[.*Exception"



但现在我想排除某些特定的异常(exception),比如 AAAException BBB异常 ,我怎么办?它可以通过

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



但如果在文件中,我有 AAAException 在其他一些异常的 10 行内,​​该行不会包含在输出中,这不是我想要的。怎么配不上 AAAException ,但如果它发生在距其他一些异常的 10 行以内,它仍将包含在输出中吗?

最佳答案

如果您有 grep -P您可以指定否定的回顾断言。

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

关于regex - grep 异常但排除特定异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10780260/

相关文章:

bash - 为什么 "set -v"似乎不能在 bash 的子 shell 中工作?

linux - Bash,使用导出并在单个脚本中运行导出

linux - 使用shell脚本解析复杂的字符串

linux - 如何从 Linux 运行 shell 文件的位置获取路径?

regex - 带有特殊字符的 Powershell 正则表达式

java - 多语言查询中的正则表达式不适用于应用程序,但适用于 SQL 开发人员和单元测试

PHP Word 导出

windows - 行尾在编码中有何影响?

python 重新: no such group

python - 在Python中从文件中读取正则表达式