Category

Linux Command


Usage

join [OPTION]... FILE1 FILE2


Manual

For each pair of input lines with identical join fields, write a line
to standard output. The default join field is the first, delimited by
whitespace. When FILE1 or FILE2 (not both) is -, read standard input.

-a FILENUM
print unpairable lines coming from file FILENUM, where FILENUM
is 1 or 2, corresponding to FILE1 or FILE2

-e EMPTY
replace missing input fields with EMPTY

-i, --ignore-case
ignore differences in case when comparing fields

-j FIELD
equivalent to ‘-1 FIELD -2 FIELD’

-o FORMAT
obey FORMAT while constructing output line

-t CHAR
use CHAR as input and output field separator

-v FILENUM
like -a FILENUM, but suppress joined output lines

-1 FIELD
join on this FIELD of file 1

-2 FIELD
join on this FIELD of file 2

--check-order
check that the input is correctly sorted, even if all input
lines are pairable

--nocheck-order
do not check that the input is correctly sorted

--help display this help and exit

--version
output version information and exit

Unless -t CHAR is given, leading blanks separate fields and are
ignored, else fields are separated by CHAR. Any FIELD is a field num-
ber counted from 1. FORMAT is one or more comma or blank separated
specifications, each being ‘FILENUM.FIELD’ or ‘0’. Default FORMAT out-
puts the join field, the remaining fields from FILE1, the remaining
fields from FILE2, all separated by CHAR.

Important: FILE1 and FILE2 must be sorted on the join fields. E.g.,
use ‘sort -k 1b,1’ if ‘join’ has no options. Note, comparisons honor
the rules specified by ‘LC_COLLATE’. If the input is not sorted and
some lines cannot be joined, a warning message will be given.


Share your experience or ask a question