JOIN(1L)
NAME
join − join lines of two files on a common field
SYNOPSIS
join [−a 1|2] [−v 1|2] [−e empty-string] [−o field-list...] [−t char] [−j[1|2] field] [−1 field] [−2 field] file1 file2
join {−−help,−−version}
DESCRIPTION
This manual page documents the GNU version of join. join prints to the standard output a line for each pair of input lines, one each from file1 and file2, that have identical join fields. Either filename (but not both) can be ‘−’, meaning the standard input. file1 and file2 should be already sorted in increasing order (not numerically) on the join fields; unless the −t option is given, they should be sorted ignoring blanks at the start of the line, as sort does when given the −b option.
The defaults are: the join field is the first field in each line; fields in the input are separated by one or more blanks, with leading blanks on the line ignored; fields in the output are separated by a space; each output line consists of the join field, the remaining fields from file1, then the remaining fields from file2.
OPTIONS
−a file-number
Print a line for each unpairable line in file file-number (either 1 or 2), in addition to the normal output.
−e string
Replace empty output fields (those that are missing in the input) with string.
−1, −j1 field
Join on field field (a positive integer) of file 1.
−2, −j2 field
Join on field field (a positive integer) of file 2.
−j field
Equivalent to −1 field −2 field.
−o field-list...
Construct each output line according to the format in field-list. Each element in field-list consists of a file number (either 1 or 2), a period, and a field number (a positive integer). The elements in the list are separated by commas or blanks. Multiple field-list arguments can be given after a single −o option; the values of all lists given with −o are concatenated together.
−t char
Use character char as the input and output field separator.
−v file-number
Print a line for each unpairable line in file file-number (either 1 or 2), instead of the normal output.
In addition, when GNU join is invoked with exactly one argument, the following options are recognized:
−−help
Print a usage message on standard output and exit successfully.
−−version
Print version information on standard output then exit successfully.