[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    cut(1) manual page Table of Contents

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 would pass the first 72 bytes of each line). When -b and -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 ID s to names follows:

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

To set name to current login name:

example$ name=gawho am i | cut -f1 -d’ ’ga

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:
  1. 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


    Table of Contents