Problème avec le join d'AIX
tbeghain
Messages postés
63
Statut
Membre
-
tbeghain Messages postés 63 Statut Membre -
tbeghain Messages postés 63 Statut Membre -
Bonjour,
J'ai un script shell sous AIX qui fait un join de deux fichiers
fic2.txt :
test100:zone 1 :zone 2:zone 3
test10:zone 1:zone 2:zone 3
test:zone 1:zone 2:zone 3
fic3.txt:
test100:zone 4:zone 5
test10:zone 4:zone 5
test:zone 4: zone 5
Or la commande : join -11 -21 -t: fic2.txt fic3.txt
ne retourne que la ligne
test100:zone 1 :zone 2:zone 3:zone 4:zone 5
et pas les lignes
test100:zone 1:zone 2:zone 3:zone 4:zone 5
test10:zone 1:zone 2:zone 3:zone 4:zone 5
test:zone 1:zone 2:zone 3:zone 4:zone 5
comme je m'y attendais. Pourquoi ???? Avez vous une solution ?
merci pour vos réponses
Thierry
J'ai un script shell sous AIX qui fait un join de deux fichiers
fic2.txt :
test100:zone 1 :zone 2:zone 3
test10:zone 1:zone 2:zone 3
test:zone 1:zone 2:zone 3
fic3.txt:
test100:zone 4:zone 5
test10:zone 4:zone 5
test:zone 4: zone 5
Or la commande : join -11 -21 -t: fic2.txt fic3.txt
ne retourne que la ligne
test100:zone 1 :zone 2:zone 3:zone 4:zone 5
et pas les lignes
test100:zone 1:zone 2:zone 3:zone 4:zone 5
test10:zone 1:zone 2:zone 3:zone 4:zone 5
test:zone 1:zone 2:zone 3:zone 4:zone 5
comme je m'y attendais. Pourquoi ???? Avez vous une solution ?
merci pour vos réponses
Thierry
A voir également:
- Problème avec le join d'AIX
- Join pdf - Télécharger - PDF
- Join skype - Guide
- Media join - Télécharger - TV & Vidéo
- Cesi aix en provence - Forum Études / Formation High-Tech
- [SQL-WINDEV] Problème LEFT JOIN - Forum Windev
2 réponses
Salut,
Je ne sais pas si ton problème est toujours d'actualité mais j'ai une réponse.
Le join doit être precedé d'un sort sur la cle souhaitée (ici le premier champ). Je te suggère donc un
ce qui te donnera alors :
sorted_fic2.txt
test:zone 1:zone 2:zone 3
test10:zone 1:zone 2:zone 3
test100:zone 1 :zone 2:zone 3
sorted_fic3.txt
test:zone 4: zone 5
test10:zone 4:zone 5
test100:zone 4:zone 5
Ensuite ton join initial est ok :
Gauthier
Je ne sais pas si ton problème est toujours d'actualité mais j'ai une réponse.
Le join doit être precedé d'un sort sur la cle souhaitée (ici le premier champ). Je te suggère donc un
sort -t: -k 1,1 fic2.txt > sorted_fic2.txt sort -t: -k 1,1 fic3.txt > sorted_fic3.txt
ce qui te donnera alors :
sorted_fic2.txt
test:zone 1:zone 2:zone 3
test10:zone 1:zone 2:zone 3
test100:zone 1 :zone 2:zone 3
sorted_fic3.txt
test:zone 4: zone 5
test10:zone 4:zone 5
test100:zone 4:zone 5
Ensuite ton join initial est ok :
join -11 -21 -t: sorted_fic2.txt sorted_fic3.txt
Gauthier
Thierry