cut Man page

CUT(1) User Commands CUT(1)


cut – remove sections from each line of files




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

-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

-n (ignored)

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

–help 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 N’th byte, character or field, counted from 1

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

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

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


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


GNU coreutils online help:
Report cut translation bugs to


Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU
GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.


Full documentation at:
or available locally via: info ‘(coreutils) cut invocation’

GNU coreutils 8.25 February 2016 CUT(1)