sbase/cut.1
FRIGN 733b33f1c7 Add UTF-8-delimiter-support to cut(1)
Now you can specify a multibyte-delimiter to cut, which should
definitely be possible for the end-user (Fuck POSIX).
Looking at GNU/coreutils' cut(1)[0], which basically ignores the difference
between characters and bytes, the -n-option and which is bloated as hell,
one has to wonder why they are still default. This is insane!
Things like this personally keep me motivated to make sbase better
every day.

[0]: http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob;f=src/cut.c;hb=HEAD
     NSFW! You have been warned.
2015-01-22 12:32:50 +01:00

71 lines
1.4 KiB
Groff

.Dd January 22, 2015
.Dt CUT 1 sbase\-VERSION
.Sh NAME
.Nm cut
.Nd extract columns of data
.Sh SYNOPSIS
.Nm cut
.Fl b Ar list
.Op Fl n
.Op Ar file ...
.Nm cut
.Fl c Ar list
.Op Ar file ...
.Nm cut
.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 n
Do not split multibyte characters. A character is written when its
last byte is selected.
.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 d Ar delim
Use first byte of
.Ar delim
as field delimiter. Default is \et.
.It Fl s
Suppress lines not containing field delimiters.
.El
.Sh STANDARDS
The
.Nm
utility is compliant with the
.St -p1003.1-2008
specification.
.Pp
The possibility of separating numbers and ranges with a space
and specifying multibyte delimiters is an extension to that specification.