Excluindo vários padrões com um comando grep

5

Eu queria saber se existe uma maneira melhor de executar o seguinte comando

cat cisco.log-20151103.log | grep -v "90.192.142.138" | grep -v "PIX" | grep -v "Intrusion"

Eu tentei

cat cisco.log-20151103.log | grep -v "90.192.142.138|PIX|Intrusion"

mas não funciona.

    
por Federi 03.11.2015 / 12:50

4 respostas

2

duas outras opções

grep -v -e 90.192.142.138 -e PIX -e Intrusion cisco.log-20151103.log

e assumindo cadeias fixas

grep -vF '90.192.142.138
PIX
Intrusion
' cisco.log-20151103.log
    
por 03.11.2015 / 13:52
9

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

O Capital E ativa o modo de expressão regular e os pontos precisam ser escapados nesse caso.

    
por 03.11.2015 / 12:57
2

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

    
por 03.11.2015 / 12:55
-1
$ grep -v -f exclude.list
$ cat exclude.list
90.192.142.138
PIX
Intrusion
    
por 20.01.2018 / 11:06

Tags