Eu queria saber se existe uma melhor maneira de executar o seguinte comando
cat cisco.log-20151103.log | grep -v "90.192.142.138" | grep -v "PIX" | grep -v "Intrusion"
tentei
cat cisco.log-20151103.log | grep -v "90.192.142.138|PIX|Intrusion"
mas não funciona.
Responder1
duas outras opções
grep -v -e 90.192.142.138 -e PIX -e Intrusion cisco.log-20151103.log
e assumindo strings fixas
grep -vF '90.192.142.138
PIX
Intrusion
' cisco.log-20151103.log
Responder2
grep não precisa necessariamente de entrada de um pipe, então você poderia fazer
grep -vE '90\.192\.142\.138|PIX|Intrusion' cisco.log-20151103.log
E maiúsculo ativa o modo de expressão regular e os pontos precisam ser escapados neste caso.
Responder3
grep -vE "90.192.142.138|PIX|Intrusion" cisco.log-20151103.log
Responder4
$ grep -v -f exclude.list
$ cat exclude.list
90.192.142.138
PIX
Intrusion