我想找到FAIL
,但如果它位于包含Advocacy
的同一行,则不会。{/ p>
如果服务状态为关闭,页面上的几行包含FAIL
。我试图在整个文档中找到FAIL
,但排除包含另一个单词的每一行。
示例:
Advocacy WS Ping <10 FAIL URL: https://ncweb.blackbaud.com/CapWizService/MasterService.asmx
Advocacy WS URL <10 FAIL Advocacy URL:
Advocacy Target Service Web Service Ping <10 FAIL https://AdvocacyService.Blackbaudhosting.com/MasterService.asmx
BBDM End Point Ping <10 FAIL URL:
https://bbisec04pro.blackbaudhosting.com/14546P_f7ca13f1-5e8f-48a5-aad2-0867d2b2f72e/Download/CustomFileDownload.ashx
所以前3行都包含Advocacy并处于失败状态。谢谢你的帮助。
答案 0 :(得分:2)
使用否定先行断言
/^(?!.*Advocacy.*).*(FAIL)/gm
这表示匹配行的开头,并确保开头没有跟着(任意数量的字符后跟&#34; Advocacy&#34;),但实际上并不匹配任何一个。然后,一旦你检查了&#34;宣传&#34;不在线上的任何地方,寻找任意数量的字符,然后是&#34; FAIL&#34;。
https://regex101.com/r/vY1yO6/2查看您的测试数据
答案 1 :(得分:1)
grep FAIL&lt; somepage.html | grep -v宣传