Files
lbmk/util/sbase/cut.1
Leah Rowe e9a910b33c config/git: import suckless sbase
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>
2025-10-04 09:20:12 +01:00

70 lines
1.4 KiB
Groff

.Dd October 8, 2015
.Dt CUT 1
.Os sbase
.Sh NAME
.Nm cut
.Nd extract columns of data
.Sh SYNOPSIS
.Nm
.Fl b Ar list
.Op Fl n
.Op Ar file ...
.Nm
.Fl c Ar list
.Op Ar file ...
.Nm
.Fl f Ar list
.Op Fl d Ar delim
.Op Fl s
.Op Ar file ...
.Sh DESCRIPTION
.Nm
out bytes, characters or delimited fields from each line of
.Ar file
and write to stdout.
.Pp
If no
.Ar file
is given or
.Ar file
is '-',
.Nm
reads from stdin.
.Pp
.Ar list
is a comma or space separated list of numbers and ranges starting
from 1.
Ranges have the form 'N-M'. If N or M is missing, beginning or end
of line is assumed.
Numbers and ranges may be repeated, overlapping and in any order.
.Pp
Selected input is written in the same order it is read
and is written exactly once.
.Sh OPTIONS
.Bl -tag -width Ds
.It Fl b Ar list | Fl c Ar list
.Ar list
specifies byte | character positions.
.It Fl d Ar delim
Use
.Ar delim
as field delimiter, which can be an arbitrary string.
Default is '\et'.
.It Fl f Ar list
.Ar list
specifies field numbers.
Lines not containing field delimiters are passed through, unless
.Fl s
is specified.
.It Fl n
Do not split multibyte characters.
A character is written when its last byte is selected.
.It Fl s
Suppress lines not containing field delimiters.
.El
.Sh STANDARDS
POSIX.1-2013.
.Pp
The possibility of separating numbers and ranges with a space and specifying
multibyte delimiters of arbitrary length is an extension to that specification.