uniq
uniq [OPTION]... [INPUT [OUTPUT]]
Report or omit repeated lines.
Options
--all-repeated=<delimit-method>
,-D <delimit-method>
-
print all duplicate lines. Delimiting is done with blank lines. [default: none]
--group=<group-method>
-
show all items, separating groups with an empty line. [default: separate]
--check-chars=<N>
,-w <N>
-
compare no more than N characters in lines
--count
,-c
-
prefix lines by the number of occurrences
--ignore-case
,-i
-
ignore differences in case when comparing
--repeated
,-d
-
only print duplicate lines
--skip-chars=<N>
,-s <N>
-
avoid comparing the first N characters
--skip-fields=<N>
,-f <N>
-
avoid comparing the first N fields
--unique
,-u
-
only print unique lines
--zero-terminated
,-z
-
end lines with 0 byte, not newline
Filter adjacent matching lines from INPUT
(or standard input),
writing to OUTPUT
(or standard output).
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
.
Examples
Display each line once:
sort {{path/to/file}} | uniq
Display only unique lines:
sort {{path/to/file}} | uniq -u
Display only duplicate lines:
sort {{path/to/file}} | uniq -d
Display number of occurrences of each line along with that line:
sort {{path/to/file}} | uniq -c
Display number of occurrences of each line, sorted by the most frequent:
sort {{path/to/file}} | uniq -c | sort -nr
The examples are provided by the tldr-pages project under the CC BY 4.0 License.
Please note that, as uutils is a work in progress, some examples might fail.