JOIN(1)

NAME
join - join lines of two files on a common field

SYNOPSIS
join [OPTION]... FILE1 FILE2

DESCRIPTION

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

--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 number counted from 1. FORMAT is one or more comma or blank separated specifications, each being `FILENUM.FIELD' or `0'. Default FORMAT outputs 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.

AUTHOR
Written by Mike Haertel.

REPORTING BUGS
Report bugs to <bug-coreutils@gnu.org>.

COPYRIGHT
Copyright © 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO
The full documentation for join is maintained as a Texinfo manual. If the info and join programs are properly installed at your site, the command

    info coreutils join

should give you access to the complete manual.