Différence entre deux fichiers txt avec nawk

Résolu
GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   -  
GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai deux file1 et file2 , je ressortir la différence entre les deux fichiers (c-à-d) les lignes qui sont de trop dans le file2

fille1

e_gsm;ABOBO_1;evolium:monoStandardBtsIndoor;BSCCAF5;CIDE ;4;4
e_gsm;MICRO_TEST_DABOU;evolium:monoStandardBtsIndoor;BSCCAF5;CIDE ;4;4
dcs1800;AEROPORT_1;evolium:micro;BSCDABOU;MOCO ;2;2
e_gsm;ANGRE_1;evolium:monoStandardBtsIndoor;BSCLUM6;CIDE ;3;3
e_gsm;BANCO_1;evolium:monoStandardBtsIndoor;BSCLUM6;CIDE ;4;3
e_gsm;KM4_1;evolium:monoStandardBtsIndoor;BSCLUM6;CIDE ;3;3
e_gsm;KOUMASSI_1;evolium:monoStandardBtsIndoor;BSCCAF9;MBI5 ;3;3
e_gsm;MIRADOR_1;evolium:monoStandardBtsIndoor;BSCCAF9;MBI5 ;3;3
e_gsm;MSC_1;evolium:monoStandardBtsIndoor;BSCCAF9;MBI5 ;4;4
e_gsm;RIVIERA_1;evolium:monoStandardBtsIndoor;BSCSNT6;MBI5 ;4;4
e_gsm;ZI_1;evolium:monoStandardBtsIndoor;BSCSNT6;MBI5 ;3;3
e_gsm;SAMARIT_1;evolium:monoStandardBtsIndoor;BSCSNT6;MBI5 ;4;4
e_gsm;PETROCI_1;evolium:monoStandardBtsIndoor;BSCLUM4;CIDE ;3;3
e_gsm;CNTIG_1;evolium:monoStandardBtsIndoor;BSCLUM4;CIDE ;3;3
e_gsm;COCODY_1;evolium:monoStandardBtsIndoor;BSCLUM4;CIDE ;3;3
e_gsm;MAZEH_1;evolium:monoStandardBtsIndoor;BSCLUM5;CIDE ;3;3
e_gsm;BB_SDV_1;evolium:monoStandardBtsIndoor;BSCLUM5;CIDE ;3;3
e_gsm;BB_SDV_2;evolium:monoStandardBtsIndoor;BSCLUM5;CIDE ;3;3
e_gsm;BB_SDV_3;evolium:monoStandardBtsIndoor;BSCVIL7;CIDE ;3;3
e_gsm;ANGTERM_1;evolium:monoStandardBtsIndoor;BSCVIL7;CIDE ;4;4
e_gsm;COMAF_1;evolium:monoStandardBtsIndoor;BSCVIL7;CIDE ;2;2
e_gsm;NIANGON_1;evolium:monoStandardBtsIndoor;BSCVIL8;CIDE ;3;3
e_gsm;ANOUMABO_1;evolium:monoStandardBtsIndoor;BSCVIL8;CIDE ;3;3

file2

e_gsm;ABOBO_1;evolium:monoStandardBtsIndoor;BSCCAF5;CIDE ;4;4
e_gsm;MICRO_TEST_DABOU;evolium:monoStandardBtsIndoor;BSCCAF5;CIDE ;4;4
dcs1800;AEROPORT_1;evolium:micro;BSCDABOU;MOCO ;2;2
e_gsm;ANGRE_1;evolium:monoStandardBtsIndoor;BSCLUM6;CIDE ;3;3
e_gsm;BANCO_1;evolium:monoStandardBtsIndoor;BSCLUM6;CIDE ;4;3
e_gsm;KM4_1;evolium:monoStandardBtsIndoor;BSCLUM6;CIDE ;3;3
e_gsm;KOUMASSI_1;evolium:monoStandardBtsIndoor;BSCCAF9;MBI5 ;3;3
e_gsm;MIRADOR_1;evolium:monoStandardBtsIndoor;BSCCAF9;MBI5 ;3;3
e_gsm;MSC_1;evolium:monoStandardBtsIndoor;BSCCAF9;MBI5 ;4;4
e_gsm;RIVIERA_1;evolium:monoStandardBtsIndoor;BSCSNT6;MBI5 ;4;4
e_gsm;ZI_1;evolium:monoStandardBtsIndoor;BSCSNT6;MBI5 ;3;3
e_gsm;SAMARIT_1;evolium:monoStandardBtsIndoor;BSCSNT6;MBI5 ;4;4
e_gsm;PETROCI_1;evolium:monoStandardBtsIndoor;BSCLUM4;CIDE ;3;3
e_gsm;CNTIG_1;evolium:monoStandardBtsIndoor;BSCLUM4;CIDE ;3;3
e_gsm;COCODY_1;evolium:monoStandardBtsIndoor;BSCLUM4;CIDE ;3;3
e_gsm;MAZEH_1;evolium:monoStandardBtsIndoor;BSCLUM5;CIDE ;3;3
e_gsm;BB_SDV_1;evolium:monoStandardBtsIndoor;BSCLUM5;CIDE ;3;3
e_gsm;BB_SDV_2;evolium:monoStandardBtsIndoor;BSCLUM5;CIDE ;3;3
e_gsm;BB_SDV_3;evolium:monoStandardBtsIndoor;BSCVIL7;CIDE ;3;3
e_gsm;ANGTERM_1;evolium:monoStandardBtsIndoor;BSCVIL7;CIDE ;4;4
e_gsm;COMAF_1;evolium:monoStandardBtsIndoor;BSCVIL7;CIDE ;2;2
e_gsm;NIANGON_1;evolium:monoStandardBtsIndoor;BSCVIL8;CIDE ;3;3
e_gsm;ANOUMABO_1;evolium:monoStandardBtsIndoor;BSCVIL8;CIDE ;3;3
e_gsm;LANGEVIN_1;evolium:monoStandardBtsIndoor;BSCVIL8;CIDE ;4;4
e_gsm;SACHES_1;evolium:monoStandardBtsIndoor;BSCVIL8;MBI5 ;3;3
e_gsm;COTEAUX_1;evolium:monoStandardBtsIndoor;BSCVIL8;MBI5 ;3;3
e_gsm;SOGEFIHA_1;evolium:monoStandardBtsIndoor;BSCVIL8;MBI5 ;3;3
e_gsm;TREICHTL_1;evolium:monoStandardBtsIndoor;BSCSNT8;CIDE ;4;4
e_gsm;OUEZIN_1;evolium:monoStandardBtsIndoor;BSCSNT8;CIDE ;3;3
e_gsm;PALM_CB_1;evolium:monoStandardBtsIndoor;BSCSNT8;CIDE ;3;3
e_gsm;SOCOCE_1;evolium:monoStandardBtsOutdoor;BSCLUM4;MBO1E ;3;3
e_gsm;BABIA_1;evolium:monoStandardBtsOutdoor;BSCLUM4;MBO1E ;3;3
e_gsm;BB_BLOKOSSO;evolium:monoStandardBtsOutdoor;BSCLUM4;MBO1E ;2;2

résultat final

FILE3

e_gsm;LANGEVIN_1;evolium:monoStandardBtsIndoor;BSCVIL8;CIDE ;4;4
e_gsm;SACHES_1;evolium:monoStandardBtsIndoor;BSCVIL8;MBI5 ;3;3
e_gsm;COTEAUX_1;evolium:monoStandardBtsIndoor;BSCVIL8;MBI5 ;3;3
e_gsm;SOGEFIHA_1;evolium:monoStandardBtsIndoor;BSCVIL8;MBI5 ;3;3
e_gsm;TREICHTL_1;evolium:monoStandardBtsIndoor;BSCSNT8;CIDE ;4;4
e_gsm;OUEZIN_1;evolium:monoStandardBtsIndoor;BSCSNT8;CIDE ;3;3
e_gsm;PALM_CB_1;evolium:monoStandardBtsIndoor;BSCSNT8;CIDE ;3;3
e_gsm;SOCOCE_1;evolium:monoStandardBtsOutdoor;BSCLUM4;MBO1E ;3;3
e_gsm;BABIA_1;evolium:monoStandardBtsOutdoor;BSCLUM4;MBO1E ;3;3
e_gsm;BB_BLOKOSSO;evolium:monoStandardBtsOutdoor;BSCLUM4;MBO1E ;2;2

10 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hllo
    avec awk
    awk 'NR==FNR {t[$0]++; next} !t[$0]' file1 file2
    1
  2. Utilisateur anonyme
     
    Salut, c'est quoi, la question ?

    C'est ça : je ressortir la différence entre les deux fichiers ... ?

    On devine, mais ce serait sans doute pas mal que tu précises...
    0
  3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    $ grep -v -f f1 f2
    e_gsm;LANGEVIN_1;evolium:monoStandardBtsIndoor;BSCVIL8;CIDE ;4;4
    e_gsm;SACHES_1;evolium:monoStandardBtsIndoor;BSCVIL8;MBI5 ;3;3
    e_gsm;COTEAUX_1;evolium:monoStandardBtsIndoor;BSCVIL8;MBI5 ;3;3
    e_gsm;SOGEFIHA_1;evolium:monoStandardBtsIndoor;BSCVIL8;MBI5 ;3;3
    e_gsm;TREICHTL_1;evolium:monoStandardBtsIndoor;BSCSNT8;CIDE ;4;4
    e_gsm;OUEZIN_1;evolium:monoStandardBtsIndoor;BSCSNT8;CIDE ;3;3
    e_gsm;PALM_CB_1;evolium:monoStandardBtsIndoor;BSCSNT8;CIDE ;3;3
    e_gsm;SOCOCE_1;evolium:monoStandardBtsOutdoor;BSCLUM4;MBO1E ;3;3
    e_gsm;BABIA_1;evolium:monoStandardBtsOutdoor;BSCLUM4;MBO1E ;3;3
    e_gsm;BB_BLOKOSSO;evolium:monoStandardBtsOutdoor;BSCLUM4;MBO1E ;2;2

    0
  4. GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention  
     
    bonjour

    la commande
     grep -v -f f1 f2
    m'affiche seulement que le contenu de du file f2 mais pas la différence entre les deux fichiers.

    est je manquer quelque chose.

    cdlt.
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      est je manquer quelque chose.
      Ben sûrement dans la mesure ou le résultat de ma commande dans mon précédent post est bien celui attendu avec
      f1 = file1
      et
      f2 = file2
      ;-(

      Tes fichiers (file1 et file2) sont au format Unix ?
      Quel système ? Quelle distrib ? Quelle version de
      grep
      ?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention  
     
    bonjour

    je l'ai testé sur un terminal CYGWIN je vais essayé directement sur mon serveur linux 5 et je te fait un retour.

    cdlt.
    0
  7. GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention  
     
    bonjour Dubcek

    ta commande avec awk fonctionne très bien.

    Merci beaucoup
    0
  8. GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention  
     
    bonjour Dubcek

    s'il te plait peux-tu me donner le détail de la commande.

    merci

    cdlt.
    0
  9. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    NR==FNR    n'est vrai que pour le premier fichier
    {t[$0]++; next} incremente un compteur indexé par le contenu de la ligne
    !t[$0] ici on traite le deuxième fichier; si le compteur d'une ligne est nul, c'est que la ligne n'existait pas dans le premier fichier, donc on imprime (pas de {} == {print $0}
    0
  10. GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention  
     
    Dubcek

    Thanks very much

    cdlt.
    0
    1. Utilisateur anonyme
       
      Et zipe31 ? Tu ne remercie que ceux qui t'apportent la solution, pas ceux qui essaient ?
      0
  11. GHISLINO Messages postés 214 Date d'inscription   Statut Membre Dernière intervention  
     
    sorry thanks very much everybody for our help

    best regards.
    0