NAME
cut - Displays selected characters or fields from each line
of a file
SYNOPSIS
cut -b list [-n] [file ...]
cut -c list [file ...]
cut -f list [-d character] [-s] [file ...]
The cut command locates the specified fields in each line of
the specified file and writes the characters in them to
standard output.
FLAGS
-b list
Cuts based on a list of bytes. Each selected byte is
output, unless you also specify the -n flag. For exam-
ple, if you specify -b 1-72, cut writes out the first 72
bytes in each line of the file.
-c list
Cuts based on a list of characters.
-d character
Uses the specified character as the field delimiter
(separator) when you specify the -f flag. You must
quote characters with special meaning to the shell, such
as the space character. Any character can be used as
character.
-f list
Specifies a list of fields assumed to be separated in
the file by a field delimiter character, specified by
the -d flag or the tab character by default. For exam-
ple, if you specify -f 1,7, cut writes out only the
first and seventh fields of each line. If a line con-
tains no field delimiters, cut passes them through
intact (useful for table subheadings), unless you
specify the -s flag.
-n Does not split characters.
-s Suppresses lines that do not contain delimiter charac-
ters (use only with the -f flag). Unless you include
this flag, lines with no delimiters are passed through.
DESCRIPTION
If you do not specify a file, cut reads standard input.
You must specify either the -b flag (to select bytes) or the
-f flag (to select fields). The list argument is a list of
integer field or character numbers (in ascending order) that
are separated by commas, dashes, or both. The dash separa-
tor indicates ranges.
Some sample list specifications are as follows:
1,4,7
First, fourth, and seventh bytes or fields.
1-3,8
First through third and eighth bytes or fields.
-5,10
First through fifth and tenth bytes or fields.
3- Third through last bytes or fields.
The fields specified by list can be a fixed number of byte
positions, or the length can vary from line to line and be
marked with a field delimiter character, such as a tab char-
acter.
You can also use the grep command to make horizontal cuts
through a file and the paste command to put the files back
together. To change the order of columns in a file, use cut
and paste.
EXAMPLES
To display several fields of each line of a file, enter:
cut -f 1,5 -d : /etc/passwd
This displays the login name and full username fields of the
system password file. These are the first and fifth fields
(-f 1,5) separated by colons (-d :).
So, if the /etc/passwd file looks like this:
su:UHuj9Pgdvz0J":0:0:User with special privileges:/:
daemon:*:1:1::/etc:
bin:*:2:2::/usr/bin:
sys:*:3:3::/usr/src:
adm:*:4:4:System Administrator:/usr/adm:
pierre:*:200:200:Pierre Harper:/u/pierre:
joan:*:202:200:Joan Brown:/u/joan:
Then, cut -f 1,5 -d : /etc/passwd produces this output:
su:User with special privileges
daemon:
bin:
sys:
adm:System Administrator
pierre:Pierre Harper
joan:Joan Brown
RELATED INFORMATION
Commands: grep(1)/egrep(1)/fgrep(1), join(1), paste(1).
Acknowledgement and Disclaimer