Escamotage de join

Résolu/Fermé
Utilisateur anonyme - 27 avril 2012 à 05:38
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 27 avril 2012 à 15:10
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

takefive Messages postés 1009 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 août 2019 81
27 avril 2012 à 07:09
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
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
27 avril 2012 à 08:47
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
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
27 avril 2012 à 08:49
hello
il y a un espace à la fin des lignes IBOGUHE-3<espace>
0
Utilisateur anonyme
27 avril 2012 à 15:02
c'est sournois les espaces en fin de ligne.

Je me sens un peu idiot.

merci zipe31
merci dubcek
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
27 avril 2012 à 15:05
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
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
27 avril 2012 à 15:09
Mais bon, quand on touche un join, qui sait ce qu'on est capable de voir (ou ne pas voir) après ;-DDD
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
27 avril 2012 à 15:10
moi c'est en faisant dff entre ton fichier et le fichier original trié par tail -n +2 fichier | sort -t";" -k 3
0