Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

grep(1)

paste(1)

environ(5)

cut(1)

NAME

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

SYNOPSIS

cut −b list [ −n ] [ file ... ]
cut −c list [ file ... ]
cut −f list [ −d delim ] [ −s ] [ file ... ]

AVAILABILITY

SUNWcsu

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, that is, 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. 

Either the −b, −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 (that is, horizontally).  To reorder columns in a table, use cut and paste. 

OPTIONS

list A comma-separated or blank-character-separated list of integer field numbers (in increasing order), with optional − to indicate ranges (for instance, 1,4,7; 1−3,8; −5,10 (short for 1−5,10); or 3− (short for third through last field)). 

−b list The list following −b specifies byte positions (for instance, −b1−72 −b1−72 would pass the first 72 bytes of each line).  When −b and −n −n are used together, list is adjusted so that no multi-byte character is split.  If −b is used, the input line should contain 1023 bytes or less. 

−c list The list following −c specifies character positions (for instance, −c1−72 would pass the first 72 characters of each line). 

−d delim 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. delim can be a multi-byte character. 

−f list The list following −f is a list of fields assumed to be separated in the file by a delimiter character (see −d ); for instance, −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.  If −f is used, the input line should contain 1023 characters or less. 

−n Do not split characters.  When −b list and −n are used together, list is adjusted so that no multi-byte character is split. 

−s Suppresses lines with no delimiter characters in case of −f option.  Unless specified, lines with no delimiters will be passed through untouched. 

OPERANDS

The following operands are supported:

file A path name of an input file.  If no file operands are specified, or if a file operand is −, the standard input will be used. 

EXAMPLES

A mapping of user IDs to names follows:

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

To set name to current login name:

example$ name=`who am i | cut −f1 −d’ ’`

ENVIRONMENT

See environ(5) for descriptions of the following environment variables that affect the execution of cut: LC_CTYPE, LC_MESSAGES, and NLSPATH. 

EXIT STATUS

The following exit values are returned:

0 All input files were output successfully. 

>0 An error occurred. 

SEE ALSO

grep(1), paste(1), environ(5)

DIAGNOSTICS

cut: −n may only be used with −b

cut: −d may only be used with −f

cut: −s may only be used with −f

cut: cannot open <file>
Either file cannot be read or does not exist.  If multiple files are present, processing continues. 

cut: no delimiter specified
Missing delim on −d option. 

cut: invalid delimiter

cut: no list specified
Missing list on −b, −c, or −f, option. 

cut: invalid range specifier

cut: too many ranges specified

cut: range must be increasing

cut: invalid character in range

cut: internal error processing input

cut: invalid multibyte character

cut: unable to allocate enough memory

SunOS 5.5/SPARC  —  Last change: 1 Feb 1995

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