Shell : trouver les lignes mauvaises

Bonjour,

J'ai un fichier, appelons le origin.txt, contenant 200000 lignes (60Mo).
Dans ce fichier, il y a des lignes 'mauvaises' et des lignes 'bonnes'.
Je sais à quoi ressemble les lignes 'bonnes' (car il suit un modele), mais je ne sais à quoi ressemble les lignes 'mauvaises' (hors modele)

Le but est donc de trouver les lignes 'mauvaises' du fichier origin.txt soit en supprimant les lignes 'bonnes' du fichier soit en affichant les lignes 'mauvaises'.

soit les variables contenant une chaine de caracteres:
toto1, toto2, tata1, tata2, titi1, titi2

les lignes bonnes doivent forcément contenir :
   toto1 et toto2  
ou tata1 et tata2  
ou titi1 et titi2
ou ...(en faite j'ai une vingtaine de variable)


avez vous une idée de comment résoudre ce probleme ?

Merci

5 réponses

  1. Modérateur
    Salut,

    Je sais à quoi ressemble les lignes 'bonnes' (car il suit un modele),

    C'est bien, mais moi je ne sais pas à quoi rassemble ce modèle.

    Sinon, supposons que le modèle est le mot bon.
    Voici comment faire pour afficher que les mauvaises
    lami20j@debian-acer:~$ cat mauvaisbon  
    bon 
    mauvais 
    mauvais 
    bon 
    mauvais 
    lami20j@debian-acer:~$ grep -v bon mauvaisbon  
    mauvais 
    mauvais 
    mauvais 
    lami20j@debian-acer:~$  
    


    GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
    106485010510997108
    0
    1. jipicy : ça c'est pour trouver une ligne donc je connais déjà 'un bout'

      lami20j : ça aurait été trop simple ;-)

      prenons un exemple de texte au hasard:
      Alors celui-ci est encore plus rare il me semble, tellement rare que les d?veloppeurs ont
      oubli? de changer sa description, qui est la m?me que celle du Bouclier de Duncan, ainsi que les stats.
      Mais son apparance est diff?rente, c'est celle du symbole des garde des ombres avec les 2 Griffon confront?
      Dos a Dos, que je pr?f?re au bouclier de Duncan pour ma part.
      Il est accessible tr?s t?t en plus, et il fait partie du 3?me meilleure bouclier du jeu avec celui de Duncan
      vu qu'ils ont les m?me stats, et est pr?f?rable a celui de Howe par exemple si vous n'aimez pas son
      -2 volont? (qui perso, ne me d?range pas plus que ?a =p)
      Comme vous l'aurez devinez, celle qui le fait tomber, en plus du Set l'Armure
      du Commandeur, c'est Sophya Dryden du DLC Pic Du Soldats.
      Et comme avec Gaxkang, SAUVEGARDER avant d'engager le combat avec elle, si vous ne l'avez pas sur son cadavre,
      rechargez et ainsi de suite jusqu'a l'obtenir. Il faut 38 en force pour le portez mais vu que vohhus pouvez l'avoir
      tr?s t?tqdhsdgg dans le jeu (d?s que vous sortez desdqgsdgsdg Lothering par exemple), c'estfghfgh tout b?n?f
      Alors cesdgqsgdlui-ci est encore plus rare il me semble, tellement rare que les d?veloppeufghfghrs ont
      oubli?dsgqsg de changer sa description, qui est la m?me que celle du Bouclier de Duncan, ainsi qfghfghue les stats.
      Mais son appardsgsdgance est diff?rente, c'est celle du symbole des garde des ombres avec les 2 Grifghfghffon confront?
      Dos a Dos, qudsgsge je pr?f?re au bouclier de Duncan pour ma fghfghpart.
      Il est accesssdgqsdgible tr?s t?t en plus, et il fait partie du 3?me meilleure bouclier du jeu fghfghavec celui de Duncan
      vu qusdgsdg'ils ont les m?me stats, et est pr?f?rable a celui de Howe par exemplefghfgh si vous n'aimez pas son
      -2 vsdgsdgolont? (qui perso, ne me d?range pas plus que ?agfhf =p)
      Commsdgsdge vous l'aurez devinez, celle qui le fait tomber, en plus du Set lgfhfgh'Armure
      du Cosdgsdgmmandeur, c'est Sophya Dryden du DLC Pic Du Soldats.
      Et comsdgdsgme avec Gaxkang, SAUVEGARDER avant d'engager le combat avec elle, sigfhfgh vous ne l'avez pas sur son cadavre,
      rechargezdsgdsg et ainsi de suite jusqu'a l'obtenir. Il faut 38 en force pour le pfghfghortez mais vu que vous pouvez l'avoir
      tr?s t?t dans le dsgdgjeu (d?s que vous sortez de Lothering par exemple), c'estfghdfgh tout b?n?f


      disons que les lignes bonnes doivent contenir :
         toto1="est encore plus" et toto2="rare que"
      ou tata1="exemp" et tata2="c'estfghfgh tout"
      ou titi1="ainsi de suite" et titi2="hortez mais vu que"


      je dois avoir comme resultat :
      oubli? de changer sa description, qui est la m?me que celle du Bouclier de Duncan, ainsi que les stats.
      Mais son apparance est diff?rente, c'est celle du symbole des garde des ombres avec les 2 Griffon confront?
      Dos a Dos, que je pr?f?re au bouclier de Duncan pour ma part.
      Il est accessible tr?s t?t en plus, et il fait partie du 3?me meilleure bouclier du jeu avec celui de Duncan
      vu qu'ils ont les m?me stats, et est pr?f?rable a celui de Howe par exemple si vous n'aimez pas son
      -2 volont? (qui perso, ne me d?range pas plus que ?a =p)
      Comme vous l'aurez devinez, celle qui le fait tomber, en plus du Set l'Armure
      du Commandeur, c'est Sophya Dryden du DLC Pic Du Soldats.
      Et comme avec Gaxkang, SAUVEGARDER avant d'engager le combat avec elle, si vous ne l'avez pas sur son cadavre,
      rechargez et ainsi de suite jusqu'a l'obtenir. Il faut 38 en force pour le portez mais vu que vohhus pouvez l'avoir
      oubli?dsgqsg de changer sa description, qui est la m?me que celle du Bouclier de Duncan, ainsi qfghfghue les stats.
      Mais son appardsgsdgance est diff?rente, c'est celle du symbole des garde des ombres avec les 2 Grifghfghffon confront?
      Dos a Dos, qudsgsge je pr?f?re au bouclier de Duncan pour ma fghfghpart.
      Il est accesssdgqsdgible tr?s t?t en plus, et il fait partie du 3?me meilleure bouclier du jeu fghfghavec celui de Duncan
      vu qusdgsdg'ils ont les m?me stats, et est pr?f?rable a celui de Howe par exemplefghfgh si vous n'aimez pas son
      -2 vsdgsdgolont? (qui perso, ne me d?range pas plus que ?agfhf =p)
      Commsdgsdge vous l'aurez devinez, celle qui le fait tomber, en plus du Set lgfhfgh'Armure
      du Cosdgsdgmmandeur, c'est Sophya Dryden du DLC Pic Du Soldats.
      Et comsdgdsgme avec Gaxkang, SAUVEGARDER avant d'engager le combat avec elle, sigfhfgh vous ne l'avez pas sur son cadavre,
      tr?s t?t dans le dsgdgjeu (d?s que vous sortez de Lothering par exemple), c'estfghdfgh tout b?n?f
      0
      1. c'est pas possible mais ça devrait faire que que chose du genre :
        cat origin.txt | grep -v 'toto1 ET toto2' | grep -v 'tata1 ET tata2' | grep -v 'titi1 ET titi2'

        en plus comme j'ai beaucoup de criteres il me faudrait une quarantaine de pipe grep !!!!
        0
        1. hello
          essaye
          $ cat f1  
          #!/bin/bash  
          
          toto1="est encore plus" ; toto2="rare que"  
          tata1="exemp" ; tata2="c'estfghfgh tout"  
          titi1="ainsi de suite" ; titi2="hortez mais vu que"  
          
          (cat << XX ; cat a1 ) | awk '$1 ~ /^EOFEOF$/ {x=1;next} ; !x {p[n++]=$0}; x {f=0;for(l=0;l<n;l+=2)if($0 ~ p[l] && $0 ~ p[l+1])f++ ; if(!f) print}' 
          $toto1  
          $toto2  
          $tata1  
          $tata2  
          $titi1  
          $titi2  
          EOFEOF  
          XX  
          $   
          $ ./f1 | head -5  
          oubli? de changer sa description, qui est la m?me que celle du Bouclier de Duncan, ainsi que les stats.  
          Mais son apparance est diff?rente, c'est celle du symbole des garde des ombres avec les 2 Griffon confront?  
          Dos a Dos, que je pr?f?re au bouclier de Duncan pour ma part.  
          Il est accessible tr?s t?t en plus, et il fait partie du 3?me meilleure bouclier du jeu avec celui de Duncan  
          -2 volont? (qui perso, ne me d?range pas plus que ?a =p)  
          $   
          
          0