cut(1) manual page
Table of Contents
cut - cut out selected fields of each line of a file
cut
-b list [ -n ] [ file ... ]
cut -c list [ file ... ]
cut -f list [ -d delim ] [ -s ] [ file ... ]
SUNWcsu
Use cut to cut out columns from a table or fields from each line of a
file; in data base parlance, it implements the projection of a relation.
The fields as specified by list can be fixed length, that is, character
positions as on a punched card (-c option) or the length can vary from line
to line and be marked with a field delimiter character like TAB
(-f option).
cut can be used as a filter.
Either the -b, -c, or -f option must be specified.
Use grep(1)
to make horizontal ‘‘cuts’’ (by context) through a file, or paste(1)
to put files together column-wise (that is, horizontally). To reorder columns
in a table, use cut and paste.
- list
- A comma-separated or blank-character-separated
list of integer field numbers (in increasing order), with optional - to
indicate ranges (for instance, 1,4,7; 1-3,8; -5,10 (short for 1-5,10); or
3- (short for third through last field)).
- -b list
- The list following -b specifies
byte positions (for instance, -b1-72 would pass the first 72 bytes of
each line). When -b and -n are used together, list is adjusted so that
no multi-byte character is split. If -b is used, the input line should contain
1023 bytes or less.
- -c list
- The list following -c specifies character positions
(for instance, -c1-72 would pass the first 72 characters of each line).
- -d
delim
- The character following -d is the field delimiter (-f option only).
Default is tab. Space or other characters with special meaning to the shell
must be quoted. delim can be a multi-byte character.
- -f list
- The list following
-f is a list of fields assumed to be separated in the file by a delimiter
character (see -d ); for instance, -f1,7 copies the first and seventh field
only. Lines with no field delimiters will be passed through intact (useful
for table subheadings), unless -s is specified. If -f is used, the input
line should contain 1023 characters or less.
- -n
- Do not split characters.
When -b list and -n are used together, list is adjusted so that no multi-byte
character is split.
- -s
- Suppresses lines with no delimiter characters in case
of -f option. Unless specified, lines with no delimiters will be passed through
untouched.
The following operands are supported:
- file
- A path name
of an input file. If no file operands are specified, or if a file operand
is -, the standard input will be used.
A mapping of user ID
s to names follows:
example% cut -d: -f1,5
/etc/passwd
To set name to current login name:
example$ name=gawho am i
| cut -f1 -d’ ’ga
See environ(5)
for descriptions of the following
environment variables that affect the execution of cut: LC_CTYPE
, LC_MESSAGES
,
and NLSPATH
.
The following exit values are returned:
- All input
files were output successfully.
- >0
- An error occurred.
grep(1)
, paste(1)
,
environ(5)
- cut: -n may only be used with -b
- cut: -d may only be
used with -f
- cut: -s may only be used with -f
- cut: cannot open <file>
- Either
file cannot be read or does not exist. If multiple files are present, processing
continues.
- cut: no delimiter specified
- Missing delim on -d option.
- cut: invalid
delimiter
- cut: no list specified
- Missing list on -b, -c, or -f, option.
- cut:
invalid range specifier
- cut: too many ranges specified
- cut: range must
be increasing
- cut: invalid character in range
- cut: internal error processing
input
- cut: invalid multibyte character
- cut: unable to allocate enough memory
Table of Contents