Merge de deux fichiers csv
Bonjour à tous
J'ai deux fichiers csv comme suit :
1 aaa
2 bbb
3 ccc
4 ddd
5 eee
6 fff
7 ggg
8 hhh
9 iii
10 jjj
11 kkk
et
101 aaa
102 bbb
103 ccc
104 ddd
105 eee
106 fff
107 ggg
108 hhh
109 iii
110 jjj
111 kkk
Mon objectif est de merger les deux sur un id commun (en l'occurence la deuxième colonne). Mon objectif final est bien sur un peu plus large car les deux fichiers cvs que je dois merger sont très importants en taille, que je devrai faire cette tâche régulièrement, et que le critère d'appariement sera composé de plusieurs colonnes. Mais un problème après l'autre. Je pourrais faire très simplement ceci avec =RECHERCHEV dans excel, mais pour toutes les raisons évoquées avant, cela ne me semble pas le bon choix.
J'ai essayé le script ci-dessous :
Code:
1 2 3 4 5 6 7 8 9
|
file1=/Users/xxx/Desktop/file1.csv
file2=/Users/xxx/Desktop/file2.csv
cut -d ";" -f 1,2 $file1 |while read line
do
echo $line | cut -d ";" -f 1
grep $line $file2 | cut -d ";" -f 1
done |
Mais cela me donne le résultat suivant
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
1
101
2
102
3
103
4
104
5
105
6
106
7
107
8
108
9
109
10
110
11
111 |
ce qui ne permet pas de le traiter comme un nouveau tableur. Je souhaite avoir le résultat suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
1;101
2;102
3;103
4;104
5;105
6;106
7;107
8;108
9;109
10;110
11;111 |
J'imagine qu'il existe une solution assez simple à ce problème... Merci de votre aide