Grep operateur ET

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

  1. Contributeur
    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
    $

    ;-))
    1. Modérateur
      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:~$