Grep正则表达式不包含一个字符串
Grep正则表达式不包含一个字符串
我将一些正则表达式模式列表传递给grep
检查一个syslog文件,通常它们匹配一个IP地址和日志入口;
grep "1\.2\.3\.4.*Has exploded" syslog.log
这仅仅是一些模式列表,比如我传递了\"1\\.2\\.3\\.4.*爆炸了\"
部分,用一个循环来执行,所以我不能传递\"-v\",例如。
我尝试着做上述反向操作,不匹配特定IP地址和错误的行,所以\"!1.2.3.4.* 爆炸了\"将匹配除了1.2.3.4以外的syslog行,告诉我它已经爆炸了。我必须能够包括一个IP地址以使其不匹配。
我在Stack Overflow上看到了一些类似的帖子,但是它们使用我似乎无法与grep
配合工作的正则表达式模式。有什么将适用于grep
的工作示例吗?
这在一个像这样的脚本中发生;
patterns[1]="1\.2\.3\.4.*Has exploded" patterns[2]="5\.6\.7\.8.*Has died" patterns[3]="\!9\.10\.11\.12.*Has exploded" for i in {1..3} do grep "${patterns[$i]}" logfile.log done
admin 更改状态以发布 2023年5月20日