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.NM 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 file1
a 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