Grep operateur ET

matmat -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,
bon c'est tout bete comme question , avec grep, en expression regulieres comment je peux trouver les fichiers qui contiennent le mot1 ET le mot2, y a des tonnes de doccs sur le ou logique mais j ai pas trouve pour le ET tout betement, , dans n importe quelle sens je veux juste que les deux occurences soient presentes dans le fichier

Merci :D


2 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
Salut,

Voir du côté de "fgrep" ou "grep -F" :

$ cat plop
blablabla MOTIF1 blablabla MOTIF2 blablabla
MOTIF3 blablabla
blablabla MOTIF4 blablabla
bla MOTIF5 blablabla MOTIF6 blablabla
blabla MOTIF7 blabla

$ fgrep  'MOTIF1
MOTIF4' plop
blablabla MOTIF1 blablabla MOTIF2 blablabla
blablabla MOTIF4 blablabla

$ fgrep  'MOTIF7
MOTIF1' plop
blablabla MOTIF1 blablabla MOTIF2 blablabla
blabla MOTIF7 blabla
$

;-))
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

mais j ai pas trouve pour le ET tout betement, ,
A ma connaissance il n'y a pas d'opérateur AND pour les regex.
En revanche on peut toujours utiliser les opérateurs des applications qui utilisent les regex

Par exemple la solution donné par zipe31 n'est valable que pour grep -F ou fgrep mais pas pour d'autres applications qui utilisent les regex.

Voici une autre possibilité avec grep sans -F
L'option -H permet de voir quel fichier contient mot1 et mot2
lami20j@debian-acer:~$ cat mot1.txt 
mot1 bla bla
bla bla
titi toto
mot1
tata tutu
lami20j@debian-acer:~$ cat mot2.txt 
mot2 ha ha
titi toto
mot2
tata tutu
lami20j@debian-acer:~$ cat mot1mot2.txt 
mot1 bla bla
bla bla
mot2 ha ha
titi toto
mot2 mot1
tata tutu
lami20j@debian-acer:~$ grep -H mot1 mot1mot2.txt | grep mot2
mot1mot2.txt:mot1 bla bla
mot1mot2.txt:mot2 mot1
lami20j@debian-acer:~$ 



0