Mac Developer Library Developer


This manual page is for Mac OS X version 10.9

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

CUT(1)                    BSD General Commands Manual                   CUT(1)

     cut -- cut out selected portions of each line of a file

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

     The cut utility cuts out selected portions of each line (as specified by list) from each file and
     writes them to the standard output.  If no file arguments are specified, or a file argument is a single
     dash (`-'), cut reads from the standard input.  The items specified by list can be in terms of column
     position or in terms of fields delimited by a special character.  Column numbering starts from 1.

     The list option argument is a comma or whitespace separated set of numbers and/or number ranges.  Num-ber Number
     ber ranges consist of a number, a dash (`-'), and a second number and select the fields or columns from
     the first number to the second, inclusive.  Numbers or number ranges may be preceded by a dash, which
     selects all fields or columns from 1 to the last number.  Numbers or number ranges may be followed by a
     dash, which selects all fields or columns from the last number to the end of the line.  Numbers and
     number ranges may be repeated, overlapping, and in any order.  If a field or column is specified multi-ple multiple
     ple times, it will appear only once in the output.  It is not an error to select fields or columns not
     present in the input line.

     The options are as follows:

     -b list
             The list specifies byte positions.

     -c list
             The list specifies character positions.

     -d delim
             Use delim as the field delimiter character instead of the tab character.

     -f list
             The list specifies fields, separated in the input by the field delimiter character (see the -d
             option.)  Output fields are separated by a single occurrence of the field delimiter character.

     -n      Do not split multi-byte characters.  Characters will only be output if at least one byte is
             selected, and, after a prefix of zero or more unselected bytes, the rest of the bytes that form
             the character are selected.

     -s      Suppress lines with no field delimiter characters.  Unless specified, lines with no delimiters
             are passed through unmodified.

     The LANG, LC_ALL and LC_CTYPE environment variables affect the execution of cut as described in

     The cut utility exits 0 on success, and >0 if an error occurs.

     Extract users' login names and shells from the system passwd(5) file as ``name:shell'' pairs:

           cut -d : -f 1,7 /etc/passwd

     Show the names and login times of the currently logged in users:

           who | cut -c 1-16,26-38

     colrm(1), paste(1)

     The cut utility conforms to IEEE Std 1003.2-1992 (``POSIX.2'').

     A cut command appeared in AT&T System III UNIX.

BSD                            December 21, 2006                           BSD

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.