请教关于grep过滤的问题!!!!!

发布于 2022-10-15 09:16:44 字数 608 浏览 16 评论 0

我有一个日志文件 里面有很多手机用户的状态报告, 比如 DELIVRD,UNDELIV24,UNDELIV93,UNDELIV94,UNDELIV18,NOSTATUS 现在我要过滤掉一些文件 过滤掉现在例举的这些状态的手机号,
可是现在走完我的shell以后还是有这些状态的手机号出现,他们的问题都是既有这些符合条件的状态日志,也有不符合条件的,结果这种手机号就都留下了,但是我想要的效果是 只要该手机号有一条日志符合上面的这几个状态就过滤掉这个手机号,请大侠们帮忙!!!!!!!!!!!!!!
这是我的语句:
zcat /backup/zch/unicom_msg_ok_07_08_09.txt.gz | awk 'BEGIN{while(getline<"/backup/zch/unicom-dy-mt-fail">0){aa[$1$2] = $0}}{if($2$8 in aa) print $0}' | grep -v "DELIVRD\|UNDELIV24\|UNDELIV93\|UNDELIV94\|UNDELIV18\|NOSTATUS "  | awk '{print $2, $3, $8}' | sort -u > unicom-dy-mt-fail-20101013_1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凉薄对峙 2022-10-22 09:16:44

回复 1# CrapeDiem

改下:

  1. zcat /backup/zch/unicom_msg_ok_07_08_09.txt.gz | awk 'BEGIN{while(getline<"/backup/zch/unicom-dy-mt-fail">0){aa[$1$2] = $0}}{if(($2$8 in aa) && ($0!~/DELIVRD|UNDELIV24|UNDELIV93|UNDELIV94|UNDELIV18|NOSTATUS/))  print $2, $3, $8}' | sort -u > unicom-dy-mt-fail-20101013_1

复制代码

雨巷深深 2022-10-22 09:16:44

谢谢~~~

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文