coreutils GNU Opérations sur les champs
join
Écrit sur la sortie standard une ligne pour chaque paire de lignes en entrée qui ont des champs identiques
Normalement, l'ordre de trie est spécifiée par LC_COLLATE. A moins que -t ne soit donné, la comparaison ignore les blancs au début et à la fin des champs joints, comme avec sort -b. Si --ignore-case est donné, la comparaison ignore la casse, comme avec sort -f
Il peut être utile d'utiliser sort -k 1b,1 pour trier un fichier en champs à joindre.
OPTIONS
-a FILE-NUMBER Affiche une ligne pour chaque ligne 'unpairable' dans le fichier FILE-NUMBER (soit 1 soit 2), en plus de la sortie normale.--check-order Quitte avec un message d'erreur si un fichier d'entrée n'est pas ordonné correctement.
--nocheck-order Ne vérifie pas si les fichiers en entrées sont triés. mode par défaut.
-e STRING Remplace les champs en sortie qui sont manquant dans l'entrée avec STRING.
-i, --ignore-case Ignore la casse.
-1 FIELD Joint sur le champs FIELD du fichier 1
-2 FIELD Joint sur le champs FIELD du fichier 2
-j FIELD Equivalent à -1 FIELD -2 FIELD
-o FIELD-LIST Construit chaque ligne en sortie en accord avec le format de FIELD-LIST. Chaque élément dans FIELD-LIST est soit le caractère '0' ou a la forme M.N où M le numéro du fichier (1 ou 2) et N un numéro de champ.
-t CHAR Utilise le caractère CHAR comme séparateur de champ d'entrée et de sortie. Utiliser sort -t CHAR pour produire cet ordre.
-v FILE-NUMBER Affiche une ligne pour chaque ligne 'unpairable' dans FILE-NUMBER (soit 1 soit 2), au lieu de la sortie standard
Exemples
cat file1a a1
c c1
b b1
cat file2
a a2
c c2
b b2
join file1 file2
a a1 a2
c c1 c2
b b1 b2