首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用一个grep命令排除多个模式

使用一个grep命令排除多个模式
EN

Unix & Linux用户
提问于 2015-11-03 11:50:23
回答 3查看 34.2K关注 0票数 9

我想知道是否有最好的方法来运行以下命令

代码语言:javascript
复制
cat cisco.log-20151103.log | grep -v "90.192.142.138" | grep -v "PIX" | grep -v "Intrusion"

我试过了

代码语言:javascript
复制
cat cisco.log-20151103.log | grep -v "90.192.142.138|PIX|Intrusion"

但不起作用。

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2015-11-03 12:52:00

另外两种选择

代码语言:javascript
复制
grep -v -e 90.192.142.138 -e PIX -e Intrusion cisco.log-20151103.log

假设固定的字符串

代码语言:javascript
复制
grep -vF '90.192.142.138
PIX
Intrusion
' cisco.log-20151103.log
票数 10
EN

Unix & Linux用户

发布于 2015-11-03 11:57:32

grep不一定需要来自管道的输入,所以您可以这样做。

代码语言:javascript
复制
grep -vE '90\.192\.142\.138|PIX|Intrusion' cisco.log-20151103.log

大写E打开正则表达式模式,在这种情况下需要转义点。

票数 10
EN

Unix & Linux用户

发布于 2015-11-03 11:55:40

grep -vE "90.192.142.138|PIX|Intrusion" cisco.log-20151103.log

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/240470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档