我想知道是否有运行以下命令的最佳方法
cat cisco.log-20151103.log | grep -v "90.192.142.138" | grep -v "PIX" | grep -v "Intrusion"
Run Code Online (Sandbox Code Playgroud)
我试过
cat cisco.log-20151103.log | grep -v "90.192.142.138|PIX|Intrusion"
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
小智 10
grep 不一定需要来自管道的输入,所以你可以这样做
grep -vE '90\.192\.142\.138|PIX|Intrusion' cisco.log-20151103.log
Run Code Online (Sandbox Code Playgroud)
大写 E 开启正则表达式模式,在这种情况下需要对点进行转义。
另外两个选项
grep -v -e 90.192.142.138 -e PIX -e Intrusion cisco.log-20151103.log
Run Code Online (Sandbox Code Playgroud)
并假设固定字符串
grep -vF '90.192.142.138
PIX
Intrusion
' cisco.log-20151103.log
Run Code Online (Sandbox Code Playgroud)