Escamotage de join

Résolu
Utilisateur anonyme -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
salut,

en voulant aider GHISLINO, avec les 3 fichiers donnés ici, j'obtiens ces deux fichiers là
fichier1:
53;13;BOGUEDIA-1;7351;610;2;80
53;7;GABIA_ISSIA-3;7843;610;2;10
53;17;GADOUAN-2;7472;610;3;80
53;47;IBOGUHE-2;14432;610;4;0
53;47;IBOGUHE-3;14433;610;2;60 
53;23;KIBOUO-3;7593;610;3;80
53;45;LOURIA-1;14391;610;2;80
53;12;NAKIAHIO-1;11491;610;2;0
53;12;NAKIAHIO-1;11491;610;3;40

fichier2:
13961;610;7351;BOGUEDIA-1
10068;610;7843;GABIA_ISSIA-3
10622;610;7472;GADOUAN-2
11239;610;14432;IBOGUHE-2
11240;610;14433;IBOGUHE-3 
13932;610;7593;KIBOUO-3
14000;610;14391;LOURIA-1
21712;610;11491;NAKIAHIO-1

remarquez que dans ces deux fichiers il y a IBOGUHE-2 et IBOGUHE-3

Attention, prestidigitation:
join -t';' -1 3 -2 4 -o 1.1 1.2 2.4 2.3 2.2 1.6 1.7 fichier1 fichier2
53;13;BOGUEDIA-1;7351;610;2;80
53;7;GABIA_ISSIA-3;7843;610;2;10
53;17;GADOUAN-2;7472;610;3;80
53;47;IBOGUHE-2;14432;610;4;0
53;23;KIBOUO-3;7593;610;3;80
53;45;LOURIA-1;14391;610;2;80
53;12;NAKIAHIO-1;11491;610;2;0
53;12;NAKIAHIO-1;11491;610;3;40


IBOGUHE-3 a disparu !

SI vous savez dire pourquoi, et comment y remédier, je vous remercie.

4 réponses

  1. takefive Messages postés 1032 Statut Membre 81
     
    Bonjour,
    Pouvez vous me permettre de faire une parenthèse car en cliquant sur votre demande, ça m'a envoyé vers microsoft@com.
    C'est pas bizarre?Comment celà se fait-il?
    Merci ..et désolé, je n'ai pas de réponse pour votre problème.
    Amicalement.
    0
  2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Tout simplement parce qu'il y a un espace en trop après la ligne contenant "IBOGUHE-3" dans ton fichier ;-((

    $ cat -A f2
    13961;610;7351;BOGUEDIA-1$
    10068;610;7843;GABIA_ISSIA-3$
    10622;610;7472;GADOUAN-2$
    11239;610;14432;IBOGUHE-2$
    11240;610;14433;IBOGUHE-3 $
    13932;610;7593;KIBOUO-3$
    14000;610;14391;LOURIA-1$
    21712;610;11491;NAKIAHIO-1$
    
    $ 

    Et du coup ça va mieux ;-))
    $ join -t';' -1 3 -2 4 -o 1.1 1.2 2.4 2.3 2.2 1.6 1.7 f1 f2
    53;13;BOGUEDIA-1;7351;610;2;80
    53;7;GABIA_ISSIA-3;7843;610;2;10
    53;17;GADOUAN-2;7472;610;3;80
    53;47;IBOGUHE-2;14432;610;4;0
    53;47;IBOGUHE-3;14433;610;2;60
    53;23;KIBOUO-3;7593;610;3;80
    53;45;LOURIA-1;14391;610;2;80
    53;12;NAKIAHIO-1;11491;610;2;0
    53;12;NAKIAHIO-1;11491;610;3;40
    
    $
    0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    il y a un espace à la fin des lignes IBOGUHE-3<espace>
    0
  4. Utilisateur anonyme
     
    c'est sournois les espaces en fin de ligne.

    Je me sens un peu idiot.

    merci zipe31
    merci dubcek
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Honnêtement c'est en inversant la clé de tri ("-1 3 -2 4" => "-1 4 -2 3") que je m'en suis aperçu ;-\

      $ join -t';' -1 4 -2 3 -o 1.1 1.2 2.4 2.3 2.2 1.6 1.7 f1 f2
      53;13;BOGUEDIA-1;7351;610;2;80
      53;7;GABIA_ISSIA-3;7843;610;2;10
      53;17;GADOUAN-2;7472;610;3;80
      53;47;IBOGUHE-2;14432;610;4;0
      53;47;IBOGUHE-3 ;14433;610;2;60
      53;23;KIBOUO-3;7593;610;3;80
      53;45;LOURIA-1;14391;610;2;80
      53;12;NAKIAHIO-1;11491;610;2;0
      53;12;NAKIAHIO-1;11491;610;3;40
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Mais bon, quand on touche un join, qui sait ce qu'on est capable de voir (ou ne pas voir) après ;-DDD
      0
    3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
       
      moi c'est en faisant dff entre ton fichier et le fichier original trié par tail -n +2 fichier | sort -t";" -k 3
      0