Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cut(1) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

grep(1)

paste(1)






       cut(1)                                                        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 char] [-s] [file . . . ]

       DESCRIPTION
             Use cut to cut 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, (-c or -b
             options) 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.  A file name of ``-'' explicitly
             refers to standard input.

             cut processes supplementary code set characters, and
             recognizes supplementary code set characters in the char given
             to the -d option (see below) according to the locale specified
             in the LC_CTYPE environment variable [see LANG on environ(5)].

             The list argument is a comma or blank separated list of
             positive integer field numbers or ranges. In either case the
             field numbers start at 1.  Ranges can take one of the three
             forms below, where number is an unsigned integer.

             number-number
                   Represents all the fields from the first number to the
                   second number.

             number-
                   Represents all the fields from number to the last field,
                   inclusive.

             -number
                   Represents all the fields from the first to number,
                   inclusive.

             The elements in the list can be repeated, can overlap, and can
             be specified in any order. It is not an error to select fields
             that are not present in an input line. See the USAGE section
             for examples.




                           Copyright 1994 Novell, Inc.               Page 1













      cut(1)                                                        cut(1)


            The meanings of the options are:

            -b list   The fields specified in list represent bytes. The
                      selected bytes are written to the output, unless -n
                      option is also specified.

            -n        Do not split characters. When the -b option is
                      specified with this option, each element in list of
                      the form low-high is modified as follows:

                            If the byte selected by low is not the first
                            byte of a character, low is decremented to
                            select the first byte of the character
                            originally selected by low.

                            If the byte selected by high is not the last
                            byte of a character, high is decremented to
                            select the last byte of the character prior to
                            the character originally selected by high, or
                            zero if there is no prior character.

                            If the resulting range element has high equal
                            to zero or low greater than high, the list
                            element is dropped from list for that input
                            line without causing an error.

                      Each element of list in the form low- is treated as
                      described for low-high above, with high set to the
                      number of bytes in the current line, excluding the
                      terminating newline character.

                      Each element of list in the form -high is treated
                      like low-high above, with low set to 1.

                      Each element of list that is given as a single
                      number, num, is treated like low-high above with low
                      and high set to num.

            -c list   The fields specified in list represent characters.
                      (This differs from -b because a single character may
                      be many bytes.)

            -f list   The fields specified in list represent fields
                      assumed to be separated in the file by a delimiter
                      character (see -d).  Lines with no field delimiters
                      will be passed through intact (useful for table


                          Copyright 1994 Novell, Inc.               Page 2













       cut(1)                                                        cut(1)


                       subheadings), unless -s is specified.  Output fields
                       are separated by a single occurrence of the
                       delimiter character.

             -d char   The field delimiter used by -f is char.  The default
                       is tab.  Space or other characters with special
                       meaning to the shell must be quoted.  char may be a
                       supplementary code set character.

             -s        Suppresses lines with no delimiter characters when
                       used with the -f option.

          Errors
             UX:cut:ERROR:line too long
                   A line can have no more than 1023 bytes or fields, or
                   there is no new-line character.

             UX:cut:ERROR:bad list for b/c/f option
                   Missing -b, -c or -f option or incorrectly specified
                   list.  No error occurs if a line has fewer fields than
                   the list calls for.

             UX:cut:ERROR:no fields
                   The list is empty.

             UX:cut:ERROR:no delimiter
                   The char argument to the -d option is too long, usually
                   because more than one character was specified.

             UX:cut:ERROR:Option requires an argument - option
                   You must specify an argument for the given option.

             UX:cut:ERROR:cannot handle multiple adjacent backspaces
                   Adjacent backspaces cannot be processed correctly.

             UX:cut:WARNING:cannot open <filename>
                   Either filename cannot be read or does not exist.  If
                   multiple filenames are present, processing continues.

       USAGE
             Any of the following strings are legal lists: ``1,4,7''
             (copies fields 1, 4 and 7 only); ``1-3 8'' (copies fields 1,
             2, 3, and 8 only); ``-5,10'' (short for ``1-5,10''); or ``3-''
             (short for third through last field). Note that blank
             separated lists need to be surrounded by quotes on the command
             line.


                           Copyright 1994 Novell, Inc.               Page 3













      cut(1)                                                        cut(1)


            The following are some useful examples:

           cut -d: -f1,5 /etc/passwd
                                  mapping of user login IDs to names

           cut -d : -f "1 3" /etc/passwd
                                  mapping of user login IDs to user
                                  numeric IDs

           name=`who am i | cut -f1 -d" "`
                                  to set name to current login name.

         Files
            /usr/lib/locale/locale/LC_MESSAGES/uxcore
                  language-specific message file [see LANG on environ(5)].

      REFERENCES
            grep(1), paste(1)

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
























                          Copyright 1994 Novell, Inc.               Page 4








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