4.3BSD-UWisc/man/cat1/cut.1
CUT(1) UNIX Programmer's Manual CUT(1)
NAME
cut - cut out selected fields of each line of a file
SYNOPSIS
cut -clist [file1 file2 ...]
cut -flist [-dchar] [-s] [file1 file2 ...]
DESCRIPTION
Use _c_u_t 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 _l_i_s_t
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
_t_a_b (-f option). _C_u_t can be used as a filter; if no files
are given, the standard input is used.
The meanings of the options are:
_l_i_s_t A comma-separated list of integer field numbers (in
increasing order), with optional - to indicate
ranges as in the -o option of _n_r_o_f_f/_t_r_o_f_f for page
ranges; e.g., 1,4,7; 1-3,8; -5,10 (short for
1-5,10); or 3- (short for third through last
field).
-c_l_i_s_t The _l_i_s_t following -c (no space) specifies charac-
ter positions (e.g., -c1-72 would pass the first 72
characters of each line).
-f_l_i_s_t The _l_i_s_t 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 delimiters
will be passed through intact (useful for table
subheadings), unless -s is specified.
-d_c_h_a_r The character following -d is the field delimiter
(-f option only). Default is _t_a_b. 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.
HINTS
Use _g_r_e_p(1) to make horizontal ``cuts'' (by context) through
a file, or _p_a_s_t_e(1) to put files together column-wise (i.e.,
horizontally). To reorder columns in a table, use _c_u_t and
Printed 12/27/86 1
CUT(1) UNIX Programmer's Manual CUT(1)
_p_a_s_t_e.
EXAMPLES
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
_l_i_n_e _t_o_o _l_o_n_g
A line can have no more than 511 characters or
fields.
_b_a_d _l_i_s_t _f_o_r _c/_f _o_p_t_i_o_n
Missing -c or -f option or incorrectly specified
_l_i_s_t. No error occurs if a line has fewer
fields than the _l_i_s_t calls for.
_n_o _f_i_e_l_d_s The _l_i_s_t is empty.
SEE ALSO
grep(1), paste(1).
Printed 12/27/86 2