Name

uniq

Synopsis

uniq [options] [file1 [file2]]

Remove duplicate adjacent lines from sorted file1 or from standard input, sending one copy of each line to file2 (or to standard output). Often used as a filter. Specify only one of -d or -u. See also comm and sort.

Options

-c, --count

Print each line once, prefixing number of instances.

-d, --repeated

Print duplicate lines once but no unique lines.

-D, --all-repeated[=method]

Print all duplicate lines. -D takes no delimiter method. The delimiter method method takes one of the following values: none (default), prepend, or separate. Blank lines are used as the delimiter.

-f n, --skip-fields=n

Ignore first n fields of a line. Fields are separated by spaces or by tabs.

-i, --ignore-case

Ignore case differences when checking for duplicates.

-s n, --skip-chars=n

Ignore first n characters of a field.

-u, --unique

Print only unique lines (no copy of duplicate entries is kept).

-w n, --check-chars=n

Compare only first n characters per line (beginning after skipped fields and characters).

--help

Print a help message and then exit.

--version

Print version information and then exit.

Examples

Send one copy of each line from list to output file list.new:

uniq list list.new

Show which names appear more than once:

sort names | uniq -d

Get Linux in a Nutshell, 6th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.