Amiga Unix — 68040 · 68060

Manual pages › General commands (1)

cut-original(1)

cut out selected fields of each line of a file

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

With the coreutil package (with the extra set), see cut(1) instead.

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

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).