8.1 cut: Print selected parts of lines
cut writes to standard output selected parts of each line of each
input file, or standard input if no files are given or for a file name of
‘-’. Synopsis:
cut [option]... [file]...
In the table which follows, the byte-list, character-list,
and field-list are one or more numbers or ranges (two numbers
separated by a dash) separated by commas. Bytes, characters, and
fields are numbered starting at 1. Incomplete ranges may be
given: -m means ‘1-m’; ‘n-’ means
‘n’ through end of line or last field. The list elements
can be repeated, can overlap, and can be specified in any order; but
the selected input is written in the same order that it is read, and
is written exactly once.
The program accepts the following options. Also see Common options.
- ‘-b byte-list’
- ‘--bytes=byte-list’
- Select for printing only the bytes in positions listed in
byte-list. Tabs and backspaces are treated like any other
character; they take up 1 byte. If an output delimiter is specified,
(see the description of --output-delimiter), then output that
string between ranges of selected bytes.
- ‘-c character-list’
- ‘--characters=character-list’
- Select for printing only the characters in positions listed in
character-list. The same as -b for now, but
internationalization will change that. Tabs and backspaces are
treated like any other character; they take up 1 character. If an
output delimiter is specified, (see the description of
--output-delimiter), then output that string between ranges
of selected bytes.
- ‘-f field-list’
- ‘--fields=field-list’
- Select for printing only the fields listed in field-list.
Fields are separated by a TAB character by default. Also print any
line that contains no delimiter character, unless the
--only-delimited (-s) option is specified
- ‘-d input_delim_byte’
- ‘--delimiter=input_delim_byte’
- With -f, use the first byte of input_delim_byte as
the input fields separator (default is TAB).
- ‘-n’
- Do not split multi-byte characters (no-op for now).
- ‘-s’
- ‘--only-delimited’
- For -f, do not print lines that do not contain the field separator
character. Normally, any line without a field separator is printed verbatim.
- ‘--output-delimiter=output_delim_string’
- With -f, output fields are separated by output_delim_string.
The default with -f is to use the input delimiter.
When using -b or -c to select ranges of byte or
character offsets (as opposed to ranges of fields),
output output_delim_string between non-overlapping
ranges of selected bytes.
- ‘--complement’
- This option is a GNU extension.
Select for printing the complement of the bytes, characters or fields
selected with the -b, -c or -f options.
In other words, do not print the bytes, characters or fields
specified via those options. This option is useful when you have
many fields and want to print all but a few of them.
An exit status of zero indicates success,
and a nonzero value indicates failure.