2277b619be
Having multibyte delimiters is not enough. For full flexibility, the possiblity of cutting input lines with arbitrary length delimiters is the real deal. Given this functionality, it only sounds reasonable to also add support to resolve escapes. Thanks to Truls Becken for making the suggestion and designing such a flexible cut(1)-implementation!
71 lines
1.5 KiB
Groff
71 lines
1.5 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 of arbitrary length is an extension to that specification.
|