cut(1) (Directory and File Management Utilities) cut(1)
NAME
cut - cut out selected fields of each line of a file
SYNOPSIS
cut -clist [file ...]
cut -flist [-dchar] [-s] [file ...]
DESCRIPTION
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, i.e.,
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; if no
files are given, the standard input is used. In addition, a file
name of ``-'' explicitly refers to standard input.
The meanings of the options are:
list A comma-separated list of integer field numbers (in
increasing order), with optional - to indicate ranges [e.g.,
1,4,7; 1-3,8; -5,10 (short for 1-5,10); or 3- (short for
third through last field)].
-clist The list following -c (no space) specifies character
positions (e.g., -c1-72 would pass the first 72 characters
of each line).
-flist The list following -f is a list of fields assumed to be
separated in the file by a delimiter character (see -d );
e.g., -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.
-dchar 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.
-s Suppresses lines with no delimiter characters in case of -f
option. Unless specified, lines with no delimiters will be
passed through untouched.
Either the -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 (i.e., horizontally).
To reorder columns in a table, use cut and paste.
EXAMPLES
8/91 Page 1
cut(1) (Directory and File Management Utilities) cut(1)
cut -d: -f1,5 /etc/passwd
mapping of user IDs to names
name=`who am i | cut -f1 -d" "`
to set name to current login name.
DIAGNOSTICS
I "ERROR: line too long"
A line can have no more than 1023 characters or fields,
or there is no new-line character.
"ERROR: bad list for c/f option"
Missing -c or -f option or incorrectly specified list.
No error occurs if a line has fewer fields than the list
calls for.
"ERROR: no fields"
The list is empty.
"ERROR: no delimeter"
Missing char on -d option.
"ERROR: cannot handle multiple adjacent backspaces"
Adjacent backspaces cannot be processed correctly.
"WARNING: cannot open <filename>"
Either filename cannot be read or does not exist. If
multiple filenames are present, prcessing continues.
SEE ALSO
grep(1), paste(1).
Page 2 8/91