Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cut(1) — Ultrix-11 3.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

grep(1)

paste(1)

cut(1)

NAME

cut − cut out selected fields of each line of a file

SYNTAX

cut −clist [file1 file2...]
cut −flist [−dchar] [−s] [file1 file2...]

DESCRIPTION

The cut command cuts 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, 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).  The cut command can be used as a filter.  If no files are given, the standard input is used.  Use grep(1) to make horizontal “cuts” (by context) through a file, or paste(1) to put files together column-wise or horizontally.  To reorder columns in a table, use cut and paste. 

OPTIONS

Either the −c or −f option must be specified. 

list A comma-separated list of integer field numbers (in increasing order), with optional − to indicate ranges as in the −o option of nroff/troff for page ranges.  For example, 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.  For example, −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 ).  For example, −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. 

EXAMPLES

This example uses the /etc/passwd file and maps user IDs to names:

cut −d: −f1,5 /etc/passwd

This example  uses input from the who(1) command and sets the variable name to your current login name:

name=‘who am i | cut −f1 −d" "‘

DIAGNOSTICS

line too long A line can have no more than 511 characters or fields. 

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. 

no fields The list is empty. 

SEE ALSO

grep(1), paste(1)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026