Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cut(1) — GL2 W3.6

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

grep(1)

paste(1)

CUT(1)  —  Silicon Graphics

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 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).  The first character or field of a line is numbered 1 (one).  Cut can be used as a filter; if no files are given, the standard input is used. 

The meanings of the options are:

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

HINTS

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.

EXAMPLE

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

line too long An input line to cut can not have more that 1024 characters or fields.  An output from cut can not have more that 1024 characters or fields. 

bad list for c/f option Incorrectly specified list.  No error occurs if a line has fewer fields that the result calls for. 

no fields The list is empty. 

bad line format A line must terminate with a carriage return or newline. 

too many backspaces A line can not contain more than two adjacent backspace characters. 

SEE ALSO

grep(1), paste(1). 

Version 3.6  —  December 20, 1987

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