cut(1) [netbsd man page]
CUT(1) BSD General Commands Manual CUT(1) NAME
cut -- select portions of each line of a file SYNOPSIS
cut -b list [-n] [file ...] cut -c list [file ...] cut -f list [-d delim] [-s] [file ...] DESCRIPTION
The cut utility selects portions of each line (as specified by list) from each file and writes them to the standard output. If the file argument is a single dash ('-') or no file arguments were specified, lines are read 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. list is a comma or whitespace separated set of increasing numbers and/or number ranges. Number 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 first 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. 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 string Use the first character of string as the field delimiter character. The default is the <TAB> character. -f list The list specifies fields, separated by the field delimiter character. The selected fields are output, separated by the field delimiter character. -n Do not split multi-byte characters. -s Suppresses lines with no field delimiter characters. Unless specified, lines with no delimiters are passed through unmodified. EXIT STATUS
cut exits 0 on success, 1 if an error occurred. SEE ALSO
paste(1) STANDARDS
The cut utility conforms to IEEE Std 1003.2-1992 (``POSIX.2''). BSD
December 21, 2008 BSD
Check Out this Related Man Page
cut(1) General Commands Manual cut(1) Name cut - cut out selected fields of each line of a file Syntax cut -clist [file1 file2...] cut -flist [-dchar] [-s] [file1 file2...] Description Use the command to cut out columns from a table or fields from each line of a file. 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 delim- iter character like tab (-f option). The command can be used as a filter. If no files are given, the standard input is used. Use to make horizontal ``cuts'' (by context) through a file, or to put files together in columns. To reorder columns in a table, use and Options list Specifies ranges that must be a comma-separated list of integer field numbers in increasing order. With optional - indicates ranges as in the -o option of nroff/troff for page ranges; for example, 1,4,7; 1-3,8; -5,10 (short for 1-5,10); or 3- (short for third through last field). -clist Specifies character positions to be cut out. For example, -c1-72 would pass the first 72 characters of each line. -flist Specifies the fields to be cut out. For example, -f1,7 copies the first and seventh field only. Lines with no field delim- iters are passed through intact (useful for table subheadings), unless -s is specified. -dchar Uses the specified character as the field delimiter. Default is tab. Space or other characters with special meaning to the shell must be quoted. The -d option is used only in combination with the -f option, according to XPG3 and SVID2/SVID3. -s Suppresses lines with no delimiter characters. Unless specified, lines with no delimiters are passed through untouched. Either the -c or -f option must be specified. Examples Mapping of user IDs to names: cut -d: -f1,5 /etc/passwd To set name to the current login name for the csh shell: set name=`who am i | cut -f1 -d" "` To set name to the current login name for the sh, sh5, and ksh shells: name=`who am i | cut -f1 -d" "` Diagnostics "line too long" A line can have no more than 511 characters or fields. "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. "no fields" The list is empty. See Also grep(1), paste(1) cut(1)