Your company here — click to reach over 10,000 unique daily visitors

cut - Man Page

remove sections from each line of files

Examples (TL;DR)


cut OPTION... [FILE]...


Print selected parts of lines from each FILE to standard output.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

-b,  --bytes=LIST

select only these bytes

-c,  --characters=LIST

select only these characters

-d,  --delimiter=DELIM

use DELIM instead of TAB for field delimiter

-f,  --fields=LIST

select only these fields;  also print any line that contains no delimiter character, unless the -s option is specified


with -b: don't split multibyte characters


complement the set of selected bytes, characters or fields

-s,  --only-delimited

do not print lines not containing delimiters


use STRING as the output delimiter the default is to use the input delimiter

-z,  --zero-terminated

line delimiter is NUL, not newline


display this help and exit


output version information and exit

Use one, and only one of -b, -c or -f.  Each LIST is made up of one range, or many ranges separated by commas.  Selected input is written in the same order that it is read, and is written exactly once. Each range is one of:


N'th byte, character or field, counted from 1


from N'th byte, character or field, to end of line


from N'th to M'th (included) byte, character or field


from first to M'th (included) byte, character or field


Written by David M. Ihnat, David MacKenzie, and Jim Meyering.

Reporting Bugs

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>

See Also

Full documentation <https://www.gnu.org/software/coreutils/cut>
or available locally via: info '(coreutils) cut invocation'

Referenced By

datamash(1), fex(1), file(1), ksh93(1), man-pages(7), mlr(1).

July 2024 GNU coreutils 9.5