J’ai besoin de quelque chose comme
$ grep ^"mot_indésirable"LeRest
J’ai besoin de quelque chose comme
$ grep ^"mot_indésirable"LeRest
Il est possible de le faire grâce à l’option -v (pour --invert-match) de la commande grep :
$ grep -v "mot_indésirable" file | grep LeRest
grep -v "mot_indésirable"
filtrera les lignes contenant le mot indésirable etgrep LeRest
ne listera que les lignes contenant le motif LeRest.Si vous vouliez afficher toutes les lignes sans le mot_indésirable. Dans ce cas, tout ce dont vous avez besoin est :
$ grep -v 'mot_indésirable' file
Le premier grep trouve le mot recherché « mot1 », le deuxième grep exclut « mot2 » :
$ grep "mot1" | grep -v "mot2"
Si votre grep supporte les expressions régulières Perl avec l’option -P, vous pouvez le faire:
$ grep -P '(?!.*mot_indésirable)LeRest' file
Exemple:
$ cat file
mot1
mot2
mot3
mot4
abc
xyz
Listons maintenant tous les mot
à l’exception de mot3
$ grep -P '(?!.*mot3)mot' file
mot1
mot2
mot4
La meilleure solution consiste à utiliser :
grep -v "mot_indésirable" file
avec son équivalent en awk :
awk '!/mot_indésirable/' file