diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:54:44 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:54:44 -0400 |
| commit | a9157ce950dfe2fc30795d43b9d79b9d1bffc48b (patch) | |
| tree | 9df484304b560466d145e662c1c254ff0e9ae0ba /static/openbsd/man1/join.1 | |
| parent | 160aa82b2d39c46ad33723d7d909cb4972efbb03 (diff) | |
docs: Added All OpenBSD Manuals
Diffstat (limited to 'static/openbsd/man1/join.1')
| -rw-r--r-- | static/openbsd/man1/join.1 | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/static/openbsd/man1/join.1 b/static/openbsd/man1/join.1 new file mode 100644 index 00000000..b3a28df6 --- /dev/null +++ b/static/openbsd/man1/join.1 @@ -0,0 +1,239 @@ +.\" $OpenBSD: join.1,v 1.23 2014/01/19 23:56:06 schwarze Exp $ +.\" +.\" Copyright (c) 1990, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)join.1 8.3 (Berkeley) 4/28/95 +.\" +.Dd $Mdocdate: January 19 2014 $ +.Dt JOIN 1 +.Os +.Sh NAME +.Nm join +.Nd relational database operator +.Sh SYNOPSIS +.Nm join +.Op Fl 1 Ar field +.Op Fl 2 Ar field +.Oo +.Fl a Ar file_number | Fl v Ar file_number +.Oc +.Op Fl e Ar string +.Op Fl o Ar list +.Op Fl t Ar char +.Ar file1 +.Ar file2 +.Sh DESCRIPTION +The +.Nm +utility performs an +.Dq equality join +on the specified files +and writes the result to the standard output. +The +.Dq join field +is the field in each file by which the files are compared. +The first field in each line is used by default. +There is one line in the output for each pair of lines in +.Ar file1 +and +.Ar file2 +which have identical join fields. +Each output line consists of the join field, the remaining fields from +.Ar file1 +and then the remaining fields from +.Ar file2 . +.Pp +The default field separators are tab and space characters. +In this case, multiple tabs and spaces count as a single field separator, +and leading tabs and spaces are ignored. +The default output field separator is a single space character. +.Pp +Many of the options use file and field numbers. +Both file numbers and field numbers are 1 based, i.e., the first file on +the command line is file number 1 and the first field is field number 1. +.Pp +When the default field delimiter characters are used, the files to be joined +should be ordered in the collating sequence of +.Xr sort 1 , +using the +.Fl b +option, on the fields on which they are to be joined, otherwise +.Nm +may not report all field matches. +When the field delimiter characters are specified by the +.Fl t +option, the collating sequence should be the same as +.Xr sort 1 +without the +.Fl b +option. +.Pp +If one of the arguments +.Ar file1 +or +.Ar file2 +is +.Sq - , +the standard input is used. +.Pp +The options are as follows: +.Bl -tag -width Ds +.It Fl 1 Ar field +Join on the +.Ar field Ns 'th +field of +.Ar file1 . +.It Fl 2 Ar field +Join on the +.Ar field Ns 'th +field of +.Ar file2 . +.It Fl a Ar file_number +In addition to the default output, produce a line for each unpairable +line in file +.Ar file_number . +.It Fl e Ar string +Replace empty output fields with +.Ar string . +.It Fl o Ar list +Specifies the fields that will be output from each file for +each line with matching join fields. +Each element of +.Ar list +has the form +.Dq file_number.field , +where +.Ar file_number +is a file number and +.Ar field +is a field number, +or the form +.Dq 0 +(zero), +representing the join field. +The elements of list must be either comma +.Pq Ql \&, +or whitespace separated. +(The latter requires quoting to protect it from the shell, or a simpler +approach is to use multiple +.Fl o +options.) +.It Fl t Ar char +Use character +.Ar char +as a field delimiter for both input and output. +Every occurrence of +.Ar char +in a line is significant. +.It Fl v Ar file_number +Do not display the default output, but display a line for each unpairable +line in file +.Ar file_number . +The options +.Fl v Cm 1 +and +.Fl v Cm 2 +may be specified at the same time. +.El +.Sh EXIT STATUS +.Ex -std join +.Sh SEE ALSO +.Xr awk 1 , +.Xr comm 1 , +.Xr lam 1 , +.Xr paste 1 , +.Xr sort 1 , +.Xr uniq 1 +.Sh STANDARDS +The +.Nm +utility is compliant with the +.St -p1003.1-2008 +specification. +.Pp +In the absence of the +.Fl o +option, +historical versions of +.Nm +wrote non-matching lines without reordering the fields. +The current version writes the join field first, followed by the +remaining fields. +.Pp +For compatibility with historical versions of +.Nm join , +the following options are available: +.Bl -tag -width Fl +.It Fl a +In addition to the default output, produce a line for each unpairable line +in both +.Ar file1 +and +.Ar file2 . +.It Fl j Ar field +Join on the +.Ar field Ns 'th +field of both +.Ar file1 +and +.Ar file2 . +.It Fl j1 Ar field +Join on the +.Ar field Ns 'th +field of +.Ar file1 . +.It Fl j2 Ar field +Join on the +.Ar field Ns 'th +field of +.Ar file2 . +.It Fl o Ar list ... +Historical implementations of +.Nm +permitted multiple arguments to the +.Fl o +option. +These arguments were of the form +.Dq file_number.field_number +as described for the current +.Fl o +option. +This has obvious difficulties in the presence of files named +.Dq 1.2 . +.El +.Pp +These options are available only so historical shell scripts don't require +modification and should not be used. +.Sh HISTORY +A +.Nm +utility appeared in +.At v7 . |
