Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ join(1) — sys5 — Apollo Domain/OS SR10.3.5

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

awk(1)

comm(1)

sort(1)

uniq(1)

JOIN(1)                              SysV                              JOIN(1)



NAME
     join - relational database operator

SYNOPSIS
     join [ options ] file1 file2

DESCRIPTION
     join forms, on the standard output, a join of the two relations 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, normally the first in each
     line [see sort(1)].

     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.

     The default input field separators are blank, tab, or new-line.  In this
     case, multiple separators count as one field separator, and leading
     separators are ignored.  The default output field separator is a blank.

     Some of the options below use the argument n.  This argument should be a
     1 or a 2 referring to either file1 or file2, respectively.

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

     -e s      Replaces empty output fields by string s.

     -jn m     Joins on the mth field of file n.  If n is missing, use the mth
               field in each file.  Fields are numbered starting with 1.

     -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.  The common field is not printed unless
               specifically requested.

     -tc       Uses character c as a separator (tab character).  Every
               appearance of c in a line is significant.  The character c is
               used as the field separator for both input and output.

EXAMPLE
     The following command line joins the password file and the group file,
     matching on the numeric group ID, and outputting the login name, the
     group name and the login directory.  It is assumed that the files have
     been sorted in ASCII collating sequence on the group ID fields.

          join -j1 4 -j2 3 -o 1.1 2.1 1.6 -t: /etc/passwd /etc/group

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 and awk(1) are wildly
     incongruous.  Filenames that are numeric may cause conflict when the -o
     option is used right before listing filenames.

SEE ALSO
     awk(1), comm(1), sort(1), uniq(1).

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026