Escamotage de join

Résolu
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. 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
    1. Contributeur
      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
      1. Contributeur
        hello
        il y a un espace à la fin des lignes IBOGUHE-3<espace>
        0
        1. c'est sournois les espaces en fin de ligne.

          Je me sens un peu idiot.

          merci zipe31
          merci dubcek
          0
          1. Contributeur
            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. Contributeur
            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. Contributeur
            moi c'est en faisant dff entre ton fichier et le fichier original trié par tail -n +2 fichier | sort -t";" -k 3
            0