JOIN(1)
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 documentation is no longer being maintained and may
be inaccurate or incomplete. The Texinfo documentation is
now the authoritative source.
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 numeri-
cally) 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. Multi-
ple field-list arguments can be given after a sin-
gle -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 out-
put.
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.