Linux and Unix uniq command

Quick links

About uniq
Syntax
Examples
Related commands
Linux and Unix main page

About uniq

Report or filter out repeated lines in a file.

Syntax

uniq [-c | -d | -u ] [ -f fields ] [ -s char ] [-n] [+m] [input_file [ output_file ] ]

-cPrecede each output line with a count of the number of times the line occurred in the input.
-dSuppress the writing of lines that are not repeated in the input.
-uSuppress the writing of lines that are repeated in the input.
-f fieldsIgnore the first fields fields on each input line when doing comparisons, where fields is a positive decimal integer. A field is the maximal string matched by the basic regular expression: 

[[:blank:]]*[^[:blank:]]*

If fields specifies more fields than appear on an input line, a null string will be used for comparison.

-s charIgnore the first chars characters when doing comparisons, where chars is a positive decimal integer. If specified in conjunction with the -f option, the first chars characters after the first fields fields will be ignored. If chars specifies more characters than remain on an input line, a null string will be used for comparison.
-nEquivalent to -f fields with fields set to n.
+mEquivalent to -s chars with chars set to m.
input_fileA path name of the input file. If input_file is not specified, or if the input_file is -, the
standard input will be used.
output_fileA path name of the output file. If output_file is not specified, the standard output will be used.  The results are unspecified if the file named by output_file is the file named by input_file.

Examples

uniq myfile1.txt > myfile2.txt - Removes duplicate lines in the first file1.txt and outputs the results to the second file.

Related commands

comm
pack
pcat
sort
uncompress