mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-03-25 13:29:03 +02:00
i currently use the output of sha512sum in several places of xbmk, which is a bit unreliable in case output changes. other cases where i use util outputs in variables are probably reliable, because i'm using mostly posix utilities in those. to mitigate this, i now import suckless sbase, which has a reasonable sha512sum implementation. *every* binary it builds is being placed in build.list, because i'll probably start using more of them. for example, i may start modifying the "date" implementation, adding the GNU-specific options that i need as mentioned on init.sh i'm importing it in util/ because the sha512sum util is needed for verifying project sources, so if sbase itself is a "project source", that means we can into a chicken and egg bootstrapping problem. this is sbase at revision: 055cc1ae1b3a13c3d8f25af0a4a3316590efcd48 Signed-off-by: Leah Rowe <leah@libreboot.org>
106 lines
2.1 KiB
Groff
106 lines
2.1 KiB
Groff
.Dd October 8, 2015
|
|
.Dt JOIN 1
|
|
.Os sbase
|
|
.Sh NAME
|
|
.Nm join
|
|
.Nd relational database operator
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl 1 Ar field
|
|
.Op Fl 2 Ar field
|
|
.Op Fl o Ar list
|
|
.Op Fl e Ar string
|
|
.Op Fl a Ar fileno | Fl v Ar fileno
|
|
.Op Fl t Ar delim
|
|
.Ar file1 file2
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
lines from
|
|
.Ar file1
|
|
and
|
|
.Ar file2
|
|
on a matching field.
|
|
If one of the input files is '-', standard input is read for that file.
|
|
.Pp
|
|
Files are read sequentially and are assumed to be sorted on the join
|
|
field.
|
|
.Nm
|
|
does not check the order of input, and joining two unsorted files will
|
|
produce unexpected output.
|
|
.Pp
|
|
By default, input lines are matched on the first blank-separated
|
|
field; output lines are space-separated and consist of the join field
|
|
followed by the remaining fields from
|
|
.Ar file1 ,
|
|
then the remaining fields from
|
|
.Ar file2 .
|
|
.Sh OPTIONS
|
|
.Bl -tag -width Ds
|
|
.It Fl 1 Ar field
|
|
Join on the
|
|
.Ar field Ns th
|
|
field of file 1.
|
|
.It Fl 2 Ar field
|
|
Join on the
|
|
.Ar field Ns th
|
|
field of file 2.
|
|
.It Fl a Ar fileno
|
|
Print unpairable lines from file
|
|
.Ar fileno
|
|
in addition to normal output.
|
|
.It Fl e Ar string
|
|
When used with
|
|
.Fl o ,
|
|
replace empty fields in the output list with
|
|
.Ar string .
|
|
.It Fl o Ar list
|
|
Format output according to the string
|
|
.Ar list .
|
|
Each element of
|
|
.Ar list
|
|
may be either
|
|
.Ar fileno.field
|
|
or 0 (representing the join field).
|
|
Elements in
|
|
.Ar list
|
|
may be separated by blanks or commas.
|
|
For example,
|
|
.Bd -literal -offset indent
|
|
join -o "0 2.1 1.3"
|
|
.Ed
|
|
.Pp
|
|
would print the join field, the first field of
|
|
.Ar file2 ,
|
|
then the third field of
|
|
.Ar file1 .
|
|
.Pp
|
|
Only paired lines are formatted with the
|
|
.Fl o
|
|
option.
|
|
Unpairable lines (selected with
|
|
.Fl a
|
|
or
|
|
.Fl v )
|
|
are printed raw.
|
|
.It Fl t Ar delim
|
|
Use the arbitrary string
|
|
.Ar delim
|
|
as field delimiter for both input and output.
|
|
.It Fl v Ar fileno
|
|
Print unpairable lines from file
|
|
.Ar fileno
|
|
instead of normal output.
|
|
.El
|
|
.Sh STANDARDS
|
|
POSIX.1-2013.
|
|
.Pp
|
|
With the following exception:
|
|
.Bl -bullet -offset indent
|
|
.It
|
|
Unpairable lines ignore formatting specified with
|
|
.Fl o .
|
|
.El
|
|
.Pp
|
|
The possibility of specifying multibyte delimiters of arbitrary
|
|
length is an extension to the specification.
|