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.