Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

grep(1)

paste(1)

CUT(1)                               SysV                               CUT(1)



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.

OPTIONS
     list      Creates 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    -c (no space) Specifies character positions (e.g., -c1-72 would
               pass the first 72 characters of each line).

     -flist    Lists 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    Delimits the field (-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
     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, processing continues.

SEE ALSO
     grep(1), paste(1).

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