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
Refer to the standards(5) reference page for more information about indus-
try 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 char-
acter 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
-n 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 ori-
ginally 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.
-s 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 com-
mand 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
+ 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
Some sample list specifications are as follows:
1,4,7 or 1 4 7
First, fourth, and seventh bytes or fields.
First through third and eighth bytes or fields.
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 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 commands.
The following exit values are returned:
0 Successful completion.
>>0 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 pass-
word 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:/:
Then, cut -f 1,5 -d : /etc/passwd produces this output:
su:User with special privileges
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 mes-
sages written to standard error.
Determines the location of message catalogues for the processing of
Commands: grep(1), fold(1), join(1), paste(1)