我正在尝试根据错误,异常等关键字过滤服务器日志文件中的行并为其着色。
perl -ne 'print if s/e-business|exception|environment|error/\033[1;31m$&\033[0m/gi'
到目前为止它一直在正常工作,但问题是我想忽略一个特定的错误。假设关键字TEST
,我可以否定它,但这行也包含错误,异常关键字。我已经尝试过前瞻和后瞻,但问题是错误,异常,TEST
不会来固定的地方。
那么,我怎样才能忽略包含TEST
的行(不要大意),即使它包含我想要的其他关键词?
注意:我已经在grep中完成了它,但我有兴趣在perl中完成它。
答案 0 :(得分:3)
只需使用第二个正则表达式
print if /error/i and !/test/i
或类似的东西。