|Skip Navigation Links|
|Exit Print View|
|man pages section 1: User Commands Oracle Solaris 11.1 Information Library|
- cut out selected fields of each line of a file
/usr/bin/cut -b list [-n] [file]...
/usr/bin/cut -c list [file]...
/usr/bin/cut -f list [-d delim] [-s] [file]...
cut cuts bytes, characters, or character-delimited fields from one or more files, and concatenates them on standard output.
The option argument list is a comma-separated or blank-separated list of positive numbers and ranges. Ranges can be of three forms. The first is two positive integers separated by a hyphen (low-high), which represents all fields from low to high. The second is a positive number preceded by a hyphen (-high), which represents all fields from field 1 to high. The last is a positive number followed by a hyphen (low-), which represents all fields from low to the last field, inclusive. Elements in the list can be repeated, can overlap, and can appear in any order. The order of the output is that of the input.
One and only one of -b, -c, or -f options must be specified.
If no file is given, or if the file is -, cut cuts from standard input. The start of the file is defined as the current offset.
The following options are supported:
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.
The list following -c specifies character positions (for instance, -c1-72 would pass the first 72 characters of each line).
The character following -d is the field delimiter (-f option only). The default is TAB. Space or other characters with special meaning to the shell must be quoted. delim can be a multi-byte character.
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 are passed through intact (useful for table subheadings), unless -s is specified.
Do not split characters. When -b list and -n are used together, list is adjusted so that no multi-byte character is split.
Suppresses lines with no delimiter characters in case of -f option. Unless specified, lines with no delimiters is passed through untouched.
The following operands are supported:
A path name of an input file. If no file operands are specified, or if a file operand is -, the standard input is used.
See largefile(5) for the description of the behavior of cut when encountering files greater than or equal to 2 Gbyte (231 bytes).
Example 1 Mapping user IDs
A mapping of user IDs to names follows:
example% cut -d: -f1,5 /etc/passwd
Example 2 Setting the Current login name
To set name to current login name:
example$ name=$(who am i | cut -f1 -d' ')
See environ(5) for descriptions of the following environment variables that affect the execution of cut: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.
The following exit values are returned:
All input files were output successfully.
An error occurred.
See attributes(5) for descriptions of the following attributes: