uniq1
Report or omit repeated lines
Usage
uniq [OPTION] ...
[INPUT
[OUTPUT]]
Overview
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.
'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'.
Releases
19 releases since Debian 1.1 (Buzz); the text changed 15 times.
--all-repeated since Debian 5.0 (Lenny);
--group since Debian 8 (Jessie);
--ignore-case since Debian 2.2 (Potato);
--skip-chars since Debian 2.2 (Potato);
--zero-terminated since Debian 5.0 (Lenny);
-D since Debian 5.0 (Lenny);
-i since Debian 2.2 (Potato);
-s since Debian 2.2 (Potato);
-z since Debian 5.0 (Lenny).
--check-fields until Debian 3.1 (Sarge);
--separator until Debian 3.1 (Sarge);
-N until Debian 3.0 (Woody);
-W until Debian 3.1 (Sarge);
-number until Debian 2.1 (Slink);
-t until Debian 3.1 (Sarge).