Shell : trouver les lignes mauvaises

mortelrdv -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
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. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
  2. mortelrdv
     
    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
  3. mortelrdv
     
    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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    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