120 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\"	@(#)join.1	6.1 (Berkeley) 4/29/85
 | 
						|
.\"
 | 
						|
.TH JOIN 1 "April 29, 1985"
 | 
						|
.AT 3
 | 
						|
.SH NAME
 | 
						|
join \- relational database operator
 | 
						|
.SH SYNOPSIS
 | 
						|
.B join
 | 
						|
.RB [ \-a\fIn ]
 | 
						|
.RB [ \-e
 | 
						|
.IR s ]
 | 
						|
.RB [ \-o
 | 
						|
.IR list ]
 | 
						|
.RB [ \-t\fIc ]
 | 
						|
file1 file2
 | 
						|
.SH DESCRIPTION
 | 
						|
.B Join
 | 
						|
forms, on the standard output,
 | 
						|
a join
 | 
						|
of the two relations specified by the lines of
 | 
						|
.I file1
 | 
						|
and
 | 
						|
.IR file2 .
 | 
						|
If
 | 
						|
.I file1
 | 
						|
is `\-', the standard input is used.
 | 
						|
.PP
 | 
						|
.I File1
 | 
						|
and 
 | 
						|
.I 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.
 | 
						|
.PP
 | 
						|
There is one line in the output 
 | 
						|
for each pair of lines in 
 | 
						|
.I file1 
 | 
						|
and 
 | 
						|
.I file2
 | 
						|
that have identical join fields.
 | 
						|
The output line normally consists of the common field,
 | 
						|
then the rest of the line from 
 | 
						|
.IR file1 ,
 | 
						|
then the rest of the line from
 | 
						|
.IR file2 .
 | 
						|
.PP
 | 
						|
Fields are normally separated by blank, tab or newline.
 | 
						|
In this case, multiple separators count as one, and
 | 
						|
leading separators are discarded.
 | 
						|
.PP
 | 
						|
These options are recognized:
 | 
						|
.TP
 | 
						|
.BI \-a n
 | 
						|
In addition to the normal output,
 | 
						|
produce a line for each unpairable line in file
 | 
						|
.IR n ,
 | 
						|
where
 | 
						|
.I n
 | 
						|
is 1 or 2.
 | 
						|
.TP
 | 
						|
.BI \-e " s"
 | 
						|
Replace empty output fields by string
 | 
						|
.IR s .
 | 
						|
.ig
 | 
						|
.TP
 | 
						|
.BI \-j "n m"
 | 
						|
Join on the
 | 
						|
.IR m th
 | 
						|
field of file
 | 
						|
.IR n .
 | 
						|
If
 | 
						|
.I n
 | 
						|
is missing, use the
 | 
						|
.IR m th
 | 
						|
field in each file.
 | 
						|
..
 | 
						|
.TP
 | 
						|
.BI \-o " list"
 | 
						|
Each output line comprises the fields specified in
 | 
						|
.IR list ,
 | 
						|
each element of which has the form
 | 
						|
.IR n . m ,
 | 
						|
where
 | 
						|
.I n
 | 
						|
is a file number and
 | 
						|
.I m
 | 
						|
is a field number.
 | 
						|
.PP
 | 
						|
.TP
 | 
						|
.BI \-t c
 | 
						|
Use character
 | 
						|
.I c
 | 
						|
as a separator (tab character).
 | 
						|
Every appearance of
 | 
						|
.I c
 | 
						|
in a line is significant.
 | 
						|
.SH "SEE ALSO"
 | 
						|
.BR sort (1),
 | 
						|
.BR comm (1),
 | 
						|
.BR awk (1x).
 | 
						|
.SH BUGS
 | 
						|
With default field separation,
 | 
						|
the collating sequence is that of
 | 
						|
.BR "sort \-b" ;
 | 
						|
with
 | 
						|
.BR \-t ,
 | 
						|
the sequence is that of a plain sort.
 | 
						|
.PP
 | 
						|
The conventions of
 | 
						|
.BR join ,
 | 
						|
.BR sort ,
 | 
						|
.BR comm ,
 | 
						|
.BR uniq ,
 | 
						|
.BR look
 | 
						|
and
 | 
						|
.BR awk (1x)
 | 
						|
are wildly incongruous.
 | 
						|
.\" ref. to awk(9) man page corrected -- ASW 2005-01-15
 |