uniq (1)

Quick Reference

Output the unique lines from the given input or file. Since it does not detect repeated lines unless they are adjacent, we need to sort them first.

  • Display each line once:

sort {{file}} | uniq

  • Display only unique lines:

sort {{file}} | uniq -u

  • Display only duplicate lines:

sort {{file}} | uniq -d

  • Display number of occurrences of each line along with that line:

sort {{file}} | uniq -c

  • Display number of occurrences of each line, sorted by the most frequent:

sort {{file}} | uniq -c | sort -nr

NAME

uniq - report or omit repeated lines

SYNOPSIS

uniq [ OPTION]... [INPUT [OUTPUT]]

DESCRIPTION

Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output).
With no options, matching lines are merged to the first occurrence.
Mandatory arguments to long options are mandatory for short options too.
-c, --count
prefix lines by the number of occurrences
-d, --repeated
only print duplicate lines, one for each group
-D
print all duplicate lines
--all-repeated[=METHOD]
like -D, but allow separating groups with an empty line; METHOD={none(default),prepend,separate}
-f, --skip-fields=N
avoid comparing the first N fields
--group[=METHOD]
show all items, separating groups with an empty line; METHOD={separate(default),prepend,append,both}
-i, --ignore-case
ignore differences in case when comparing
-s, --skip-chars=N
avoid comparing the first N characters
-u, --unique
only print unique lines
-z, --zero-terminated
line delimiter is NUL, not newline
-w, --check-chars=N
compare no more than N characters in lines
--help
display this help and exit
--version
output version information and exit
A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars.
Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules specified by 'LC_COLLATE'.

AUTHOR

Written by Richard M. Stallman and David MacKenzie.

REPORTING BUGS

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
 
Report uniq translation bugs to <https://translationproject.org/team/>

SEE ALSO

comm(1), join(1), sort(1)
Full documentation at: <https://www.gnu.org/software/coreutils/uniq>
 
or available locally via: info '(coreutils) uniq invocation'

Information

Source
Coreutils
OS/version
GNU coreutils 8.29.13-0a854
Source updated
December 2, 2018
Page created
February 9, 2018
Page generated
December 2, 2018