join - jointure de 2 fichiers csv et resultat dependant du range de clefs utilisees?
Bonjour,
J'utilise la commande join pour effectuer une jointure entre 2 fichiers csv.
La jointure se fait par rapport à la 1ere colonne de ces 2 fichiers.
exemple1
fichier1.csv
Code:
1 2 3 4 5 6 7 8
|
6,marie
7,amelie
9,nicolas
18,sandra
21,mathieu
22,cindy
23,julien |
fichier2.csv
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
0,comptable
1,control qualite
2,dba
3,patron
4,commercial
5,secretaire
6,administrateur
7,technicien
8,patisssier
9,boulanger
10,plombier
11,electicien
12,commercial
13,instituteur
14,pharmacien
15,chirurgien
16,directeur |
Code:
1 2
|
join -t ',' -j1 1 -j2 1 -o 1.2,2.2 fichier1.csv fichier2.csv > fichier3.csv ; cat fichier3.csv |
J'obtiens bien:
Code:
1 2 3 4
|
marie,administrateur
amelie,technicien
nicolas,boulanger |
exemple2
Maintenant, avec les fichiers
fichier1.csv
Code:
1 2 3 4 5 6 7 8
|
116,marie
880,amelie
880,nicolas
6261,sandra
8687,mathieu
11111,cindy
99999,julien |
fichier2.csv
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
0,comptable
1,control qualite
2,dba
3,patron
4,commercial
5,secretaire
6,administrateur
7,technicien
8,patisssier
9,boulanger
880,plombier
900,electicien
100,commercial
500,instituteur
1000,pharmacien
10000,chirurgien
11111,directeur |
Même commande
Code:
1 2
|
join -t ',' -j1 1 -j2 1 -o 1.2,2.2 fichier1.csv fichier2.csv > fichier3.csv ; cat fichier3.csv |
Je n'obtiens rien?
Je m'attendais à avoir
Code:
1 2 3 4
|
amelie,plombier
nicolas,plombier
cindy,directeur |
La seule différence est pourtant seulement le range des clefs utilisées pour la jointure. Je croyait que la seule containte était d'avoir des clefs ordonnées? Y a-t-il une containte supplémentaire sur les clefs de jointur epour utiliser la commande join?