Bonjour,
Voici un petit exercice sur lequel je coince :

En entrée de la commande join, on a deux fichiers f1 et f2.
Code f1 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
a1;A
b2;B
d4;D
e5;E
m12;M
Code f2 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
a1;a
b2;b
c3;c
e5;e
z26;z
Voici ce que l'on veut obtenir en les rapprochant;
La jointure se fait sur le premier champ de chaque fichier.

enregistrement:
f1 . . . . . . . . . . f2 . . . . . . . . . . f3(sortie)
Existe . . . . . . .Existe . . . . . . . prendre les données de f2
Existe . . . . . . .N'existe pas . . prendre les données de f1
N'existe pas . .Existe . . . . . . . prendre les données de f2

En sortie, on cherche donc à avoir :
Code f3 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
a1;a
b2;b
c3;c
d4;D
e5;e
m12;M
z26;z

voici une première approche, mais non satisfaisante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
liam@HAL42:~/projets/Test_cmd_shell_21$ ./zjoin.sh 
cat xjoinf1.csv -n
     1	a1;A
     2	b2;B
     3	d4;D
     4	e5;E
     5	m12;M
cat xjoinf2.csv -n
     1	a1;a
     2	b2;b
     3	c3;c
     4	e5;e
     5	z26;z
join -t";" -a1 -a2 xjoinf1.csv xjoinf2.csv > xjoinf12.csv
cat xjoinf12.csv -n
     1	a1;A;a
     2	b2;B;b
     3	c3;c
     4	d4;D
     5	e5;E;e
     6	m12;M
     7	z26;z
Comment faire ?