cut - Displays specified parts from each line of a file
cut -b list [-n] [file...]
cut -c list [file...]
cut -f list [-d delim] [-s] [file...]
Interfaces documented on this reference page conform to
industry standards as follows:
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
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-separated 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 decremented to select the last byte of
the character prior to the character originally selected
by high, or zero (0) if there is no prior character. 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
delimiters are passed through.
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.
The cut command locates the specified fields in each line
of the specified 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 argument (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,
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 seventh 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
[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 commands.
The following exit values are returned: Successful completion.
An error occurred.
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:/: daemon:*:1:1::/etc:
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
ENVIRONMENT VARIABLES [Toc] [Back]
The following environment variables affect the execution
of cut: Provides 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 variables contain
an invalid setting, the utility behaves as if none of
the variables had been defined. If set to a non-empty
string value, overrides 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 multibyte
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 processing of LC_MESSAGES.
Commands: grep(1), fold(1), join(1), paste(1)
[ Back ]