cut(1)cut(1)NAMEcut - Displays specified parts from each line of a file
SYNOPSIScut-b list [-n] [file...]
cut-c list [file...]
cut-f list [-d delim] [-s] [file...]
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
cut: XCU5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
OPTIONS
Cuts based on a list of bytes. Each selected byte is output, unless
you also specify the -n option. For example, if you specify -b 1-72,
the cut command writes out the first 72 bytes in each line of the file.
Cuts based on a list of characters. It is not an error if you specify
a character not in the input. Uses the specified character as the
field delimiter (separator) when you specify the -f option. You must
quote characters with special meaning to the shell, such as the space
character. Any character can be used as delim. The default field
delimiter is a tab character. Specifies a list of fields assumed to be
separated in the file by a field delimiter character, specified by the
-d option or the tab character by default. For example, if you specify
-f 1,7, the cut command writes out only the first and seventh fields of
each line. If a line contains no field delimiters, the cut command
passes them through intact (useful for table subheadings), unless you
specify the -s option. Does not split characters. When specified with
the -b option, each element in list of the form low-high (hyphen-sepa‐
rated numbers) is modified as follows: If the byte selected by low is
not the first byte of a character, low is decremented to select the
first byte of the character originally selected by low. If the byte
selected by high is not the last byte of a character, high is decre‐
mented to select the last byte of the character prior to the character
originally selected by high, or zero (0) if there is no prior charac‐
ter. If the resulting range element has high equal to zero (0) or low
greater than high, the list element is dropped from list for that input
line without causing an error.
Each element in list of the form low- is treated as previously
described with high set to the number of bytes in the current
line, not including the terminating newline character. Each
element in list of the form -high is treated as previously
described with low set to 1. Each element in list of the form
number (a single number) is treated as previously described with
low set to number and high set to number. Suppresses lines that
do not contain delimiter characters (use only with the -f
option). Unless you include this option, lines with no delim‐
iters are passed through.
OPERANDS
The path name of the file to be examined.
If you do not specify a file or you specify a hyphen (-), the
cut command reads standard input.
DESCRIPTION
The cut command locates the specified fields in each line of the speci‐
fied file and writes the characters in those fields to standard output.
You must specify the -b option (to select bytes), the -c option (to
select characters) or the -f option (to select fields). The list argu‐
ment (see the -b, -c, and -f options) must be a space-separated or
comma-separated list of positive numbers and ranges. Ranges can be in
three forms: Two positive numbers separated by a hyphen (-), as in the
form low-high, which represents all fields from the first number to the
second number. A positive number preceded by a hyphen (-), as in the
form -high, which represents all fields from field number 1 to that
number. A positive number followed by a hyphen (-), as in the form
low-, which represents that number to the last field, inclusive.
The elements in list can be repeated, can overlap, and can be specified
in any order.
Some sample list specifications are as follows: First, fourth, and sev‐
enth bytes or fields. First through third and eighth bytes or fields.
First through fifth and tenth bytes or fields. 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 character.
[Tru64 UNIX] 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 the cut and paste com‐
mands.
EXIT STATUS
The following exit values are returned: Successful completion. An
error occurred.
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 user name 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:/: dae‐
mon:*: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 Adminis‐
trator pierre:Pierre Harper joan:Joan Brown
ENVIRONMENT VARIABLES
The following environment variables affect the execution of cut: Pro‐
vides a default value for the internationalization variables that are
unset or null. If LANG is unset or null, the corresponding value from
the default locale is used. If any of the internationalization vari‐
ables contain an invalid setting, the utility behaves as if none of the
variables had been defined. If set to a non-empty string value, over‐
rides the values of all the other internationalization variables.
Determines the locale for the interpretation of sequences of bytes of
text data as characters (for example, single-byte as opposed to multi‐
byte characters in arguments and input files). Determines the locale
for the format and contents of diagnostic messages written to standard
error. Determines the location of message catalogues for the process‐
ing of LC_MESSAGES.
SEE ALSO
Commands: grep(1), fold(1), join(1), paste(1)
Standards: standards(5)cut(1)