Bonjour,

En utilisant la commande join, on précise généralement quel est le champ (ou colonne) qui sert au rapprochement.

Je n'ai pas trouvé de réponse à cette question:

Peut-on faire le rapprochement sur (la concaténation de) deux champs (ou colonnes) ?

Exemple : pour un rapprochement sur les champs (ou colonnes) numéro 1 et 2

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
#!/bin/bash                   
 
#####   Script : testjoin.sh   #####
# Autheur :              TDL
# Date de creation :     fevrier 2021
# Date de modification : a plus
#
# S Y N C H R O   F I C H I E R   1
# E T             F I C H I E R   2
#
# ENTREE : 1/ fichier csv passe en parametre $1 au script
# ENTREE : 2/ fichier csv passe en parametre $2 au script
#
# SORTIE : Fichier en sotie affichage ecran du join ou f3test.csv
#
join -t ';' -j '1 2' $1 $2 -o '1.1 1.2 1.6 2.3 2.4' > f3test.csv
La commande join avec -j '1 2' n'est pas acceptée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$ ./testjoin.sh f1testjoin.csv f2testjoin.csv 
join: numéro de champ incorrect*: «1 2»
Y a t-il une solution simple pour faire cela ?