NAME

     join - relational database operator


SYNOPSIS

     join [-an] [-e s] [-o list] [-tc] file1 file2


DESCRIPTION

     Join forms, on the standard output, a join of the two  rela-
     tions  specified  by the lines of file1 and file2.  If file1
     is `-', the standard input is used.

     File1 and file2 must be sorted in increasing ASCII collating
     sequence  on the fields on which they are to be joined, nor-
     mally the first in each line.

     There is one line in the output for each pair  of  lines  in
     file1 and file2 that have identical join fields.  The output
     line normally consists of the common field, then the rest of
     the line from file1, then the rest of the line from file2.

     Fields are normally separated by blank, tab or newline.   In
     this  case,  multiple  separators  count as one, and leading
     separators are discarded.

     These options are recognized:

     -an  In addition to the normal output, produce  a  line  for
          each unpairable line in file n, where n is 1 or 2.

     -e s Replace empty output fields by string s.

     -o list
          Each output line  comprises  the  fields  specified  in
          list,  each  element of which has the form n.m, where n
          is a file number and m is a field number.

     -tc  Use character c as a separator (tab character).   Every
          appearance of c in a line is significant.


SEE ALSO

     sort(1), comm(1), awk(9).


BUGS

     With default field separation,  the  collating  sequence  is
     that  of  sort  -b; with -t, the sequence is that of a plain
     sort.

     The conventions of join, sort, comm, uniq, look  and  awk(9)
     are wildly incongruous.