Linux and Unix uniq command
Quick links
About uniq
Syntax
Examples
Related commands
Linux and Unix main page
Report or filter out repeated lines in a file.
uniq [-c | -d | -u ] [ -f fields ] [ -s char ] [-n] [+m] [input_file [ output_file ] ]
| -c | Precede each output line with a count of the number of times the line occurred in the input. |
| -d | Suppress the writing of lines that are not repeated in the input. |
| -u | Suppress the writing of lines that are repeated in the input. |
| -f fields | Ignore 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 char | Ignore 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. |
| -n | Equivalent to -f fields with fields set to n. |
| +m | Equivalent to -s chars with chars set to m. |
| input_file | A 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_file | A 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. |
uniq myfile1.txt > myfile2.txt - Removes duplicate lines in the first file1.txt and outputs the results to the second file.
