join - join lines of two files on a common field
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}
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- -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.