The typical usage is with CSV-type files, where each line consists of fields separated by a delimiter, specified by the option -d
. The default delimiter is the TAB character. Suppose you have a data file data.txt
with lines like
0 0 755 1482941948.8024
102 33 4755 1240562224.3205
1003 1 644 1219943831.2367
Then
# extract the third space-delimited field
$ cut -d ' ' -f3 data.txt
755
4755
644
# extract the second dot-delimited field
$ cut -d. -f2 data.txt
8024
3205
2367
# extract the character range from the 20th through the 25th character
$ cut -c20-25 data.txt
948.80
056222
943831
As usual, there can be optional spaces between a switch and its parameter: -d,
is the same as -d ,
GNU cut
allows specifying an --output-delimiter
option: (an independent feature of this example is that a semicolon as input delimiter has to be escaped to avoid its special treatment by the shell)
$ cut --output-delimiter=, -d\; -f1,2 <<<"a;b;c;d"
a,b