uniq - Removes or lists repeated lines in a file
uniq [-cdu] [-f fields] [-s chars] [input-file [output-file]]
uniq [-cdu] [-fields] [+chars] [input-file [output-file]]
The uniq command reads from the specified input_file, compares adjacent
lines, removes the second and succeeding occurrences of a line, and writes
to standard output.
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.
-c Precedes each output line with a count of the number of times each line
appears in the file. This option supersedes the -d and -u options.
-d Displays repeated lines only.
Ignores the first fields fields on each input line when doing comparis-
ons, where fields is a positive decimal integer. A field is the maxi-
mal string matched by the basic regular expression:
If the fields argument specifies more fields than appear on an input
line, a null string is used for comparisons.
Ignores the specified number of characters when doing comparisons. The
chars argument is a positive decimal integer.
If specified with the -f option, the first chars characters after the
first fields fields are ignored. If the chars argument specifies more
characters than remain on an input line, uniq uses a null string for
-u Displays unique lines only.
Equivalent to -f fields. (Obsolescent)
Equivalent to -s chars. (Obsolescent)
A pathname for the input file.
If this operand is omitted or specified as -, then standard input is
A pathname for the output file.
If this operand is omitted, then standard output is written.
The input_file and output_file arguments must be different files. If the
input_file operand is not specified, or if it is -, uniq uses standard
Repeated lines must be on consecutive lines to be found. You can arrange
them with the sort command before processing.
To delete repeated lines in the following file called fruit and save it to
a file named newfruit, enter:
uniq fruit newfruit
The file fruit contains the following lines:
The file newfruit contains the following lines:
The following exit values are returned:
0 Successful completion.
>>0 An error occurred.
The following environment variables affect the execution of uniq:
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 multi-
byte characters in arguments).
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: comm(1), sort(1)