CUT(1-SysV) RISC/os Reference Manual CUT(1-SysV)
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 charac-
ter 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 charac-
ter (see -d ); e.g., -f1,7 copies the first and
seventh field only. Lines with no field delim-
iters 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.
Printed 1/15/91 Page 1
CUT(1-SysV) RISC/os Reference Manual CUT(1-SysV)
EXAMPLES
Mapping of user IDs to names:
cut -d: -f1,5 /etc/passwd
To set name to current login name:
name=`who am i | cut -f1 -d" "`
DIAGNOSTICS
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, processing con-
tinues.
SEE ALSO
grep(1), paste(1).
Page 2 Printed 1/15/91