[shell] comparaison de fichier

jrewing -  
maka13 Messages postés 78 Statut Membre -
Bonjour,

j'ai 2 fichiers contenant des expressions du type :

fichier 1: fichier2:
PC00021 PC00254
PC00231 PC00021
PC00454 PC00291

juste 2 listes en fait, dans les 2 fichiers il ya des entrées en doublon dans l'exemple PC00021

je voudrais créer un fichier 3 ou dedans il n'y aurait que les entrées qui ne pas communes au 2 fichiers.

genre dans l'exemple :

fichier 3:
PC00231
PC00454
PC00254
PC00291

mais comment faire??

diff?
Configuration: red hat
Firefox 3.0.2

5 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Voir Exemple 2
    0
    1. jrewing
       
      Merci lami20j !

      je me doutais que ça allait etre un truc tout bete, mais je debute.

      le site a l'air super, je le bookmark ! :)
      0
  2. Benz37 Messages postés 95 Statut Membre 23
     
    copy(F1;F3) //metre tous enregistrement de F1 dans F3
    i:=1 // ou i=0 celon le langage (c++ i=0;;;delphi/pascal i=1)
    tanque i<EOF(F2) //// de1 jusqu'a la fin du fichier
    debut
    j=1
    tanque (j<eof(f3)) et (trouver=faux ) // trouver:booleen
    comparer(f2[i],f3[j],trouver)
    si trouver=faux
    inserer(f2[i],f3)
    fin;

    A toi de l'implémenter.
    0
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,
     sort fichier* | uniq -u
    ;-))
    0
  4. maka13 Messages postés 78 Statut Membre 4
     
    oué ma réponse etait plus nul :p

    sort fichier1 fichier2 | uniq -u > fichier3

    tchou
    0
    1. jrewing
       
      merci à toi et jipicy, donc en fait si je comprends bien, moi qui suis novice novice en shell, tu crée un fichier 3 qui contient toutes les entrées des fichiers 1et 2 et ensuite tu supprimes les doublons.

      j'y aurais pas pensé j'ai bien fait de poser la question
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. maka13 Messages postés 78 Statut Membre 4
     
    Hello

    sort fichier1 fichier2 --> ecrit toutes les lignes des fichiers mis en argument dans l'ordre "alphabetique"
    | --> (pipe) envoie la sortie de la commande dans une autre commande ici uniq
    uniq -u --> avec l'option "-u" écrit que les lignes uniques.
    > fichiers --> envoi le resultat de la commande dans le fichier.

    Bye
    0