Je me demandais sil existe un meilleur moyen dexécuter la commande suivante

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

Jai essayé

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

mais ça ne marche pas.

Réponse

deux autres options

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

et en supposant des chaînes fixes

grep -vF "90.192.142.138 PIX Intrusion " cisco.log-20151103.log 

Réponse

grep na pas nécessairement besoin dune entrée dun tube, vous pouvez donc faire

grep -vE "90\.192\.142\.138|PIX|Intrusion" cisco.log-20151103.log 

La majuscule E active le mode dexpression régulière et les points doivent être échappés dans ce cas.

Commentaires

  • Cela devrait être -E active le mode dexpression régulière Extended , qui permet lalternance | de motifs. grep sans -E a des expressions régulières et les points sont significatifs. Les points auraient dû être échappés dans la quête n, mais il ' est peu probable que la séquence de nombres corresponde à autre chose de toute façon. grep -f désactive les expressions régulières.
  • Les points doivent être échappés dans tous les cas; lexemple donné (dans OP et réponse) correspondrait à 190.192.142.138; donc idéalement, lélément dadresse IP devrait être ancré si possible, ou inclure le délimiteur avant ladresse IP dans le journal, en supposant une virgule ", " pour clarifier les choses: grep -vE ',90\.192\.142\.138,|PIX|Intrusion' cisco.log-20151103.log

Réponse

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

Commentaires

  • Depuis le . correspond à nimporte quel caractère qui correspond également par exemple 90C192X142R138 et ce nest pas ce que le PO a demandé. Vous devez échapper les caractères spéciaux (regex).

Réponse

$ grep -v -f exclude.list $ cat exclude.list 90.192.142.138 PIX Intrusion 

Commentaires

  • Cela fonctionne bien, je ' ne sais pas pourquoi quelquun la décliné.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *