Dans grep
il existe des options équivalentes aux opérateurs OR et NOT mais l’opérateur AND n’existe pas, cependant une alternative est possible.
Fichier de test
Le fichier suivant a été utilisé :
# cat ponies.txt |
OR grep
Commandes
Il y a plusieurs façons pour exprimer la condition OR :
# grep 'expression1\|expression2' fichier |
Exemples
Avec grep
et le |, il faut utiliser un \ :
# grep 'Pega\|Unicorn' ponies.txt |
Avec grep
et l’option -E
:
# grep -E 'Pega|Unicorn' ponies.txt |
Avec egrep
:
# egrep 'Pega|Unicorn' ponies.txt |
Avec grep
et l’option -e
# grep -e Pega -e Unicorn ponies.txt |
AND grep
Il n’y a pas d’opérateur ET dans grep
mais il est possible d’utiliser une alternative avec l’option grep -E
.
Commandes
Il y a plusieurs façons pour exprimer la condition AND :
# grep -E 'expression1.*expression2' fichier |
Exemples
Avec grep
et * :
# grep -E 'Spo.*Pega' ponies.txt |
Avec grep
et l’option -E
:
# grep -E 'Organisation.*Unicorn|Unicorn.*Organisation' ponies.txt |
Avec grep
et le | :
# grep Organisation ponies.txt | grep Unicorn |
NOT grep
Commandes
Il y a plusieurs façons pour exprimer la condition NOT :
# grep -v 'expression1' fichier |
Exemples
Avec grep
et l’option -v
:
# grep -v Unicorn ponies.txt |
Avec grep
, l’option -v
et des | :
# egrep 'Organisation|Sport' ponies.txt | grep -v Unicorn |
Autre exemple avec grep
, l’option -v
et des | :
# egrep 'Organisation|Sport' ponies.txt | grep -v Pou* |
Documentation
https://www.thegeekstuff.com/2011/10/grep-or-and-not-operators/