User Commands cut(1)
NAME
cut - cut out selected fields of each line of a file
SYNOPSIS
cut -b list [-n] [file...]
cut -c list [file...]
cut -f list [-d delim] [-s] [file...]
DESCRIPTION
Use the cut utility 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.
OPTIONS
The following options are supported:
list A comma-separated or blank-character-
separated list of integer field numbers (in
increasing order), with optional - to indi-
cate 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 posi-
tions (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.
-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 del-
imiter (-f option only). Default is tab.
Space or other characters with special mean-
ing 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 sub-
headings), unless -s is specified.
-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 charac-
ters in case of -f option. Unless specified,
lines with no delimiters will be passed
through untouched.
OPERANDS
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.
USAGE
See largefile(5) for the description of the behavior of cut
when encountering files greater than or equal to 2 Gbyte (2
**31 bytes).
EXAMPLES
Example 1: Mapping user IDs
A mapping of user IDs to names follows:
example% cut -d: -f1,5 /etc/passwd
Example 2: Setting current login name
To set name to current login name:
example$ name=`who am i | cut -f1 -d' '`
ENVIRONMENT VARIABLES
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.
EXIT STATUS
The following exit values are returned:
0 All input files were output successfully.
>0 An error occurred.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcsu |
|_____________________________|_____________________________|
| CSI | Enabled |
|_____________________________|_____________________________|
| Interface Stability | Standard |
|_____________________________|_____________________________|
SEE ALSO
grep(1), paste(1), attributes(5), environ(5), largefile(5),
standards(5)
DIAGNOSTICS
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 contin-
ues.
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