Jump to content

uniq

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Mikhail Ryazanov (talk | contribs) at 06:22, 29 April 2011 (tt). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

uniq is a Unix utility which, when fed a text file, outputs the file with adjacent identical lines collapsed to one. It is a kind of filter program. Typically it is used after sort. It can also output only the duplicate lines (with the -d option), or add the number of occurrences of each line (with the -c option).

An example: To see the list of lines in a file, sorted by the number of times each occurs:

sort file | uniq -c | sort -n

Using uniq like this is common when building pipelines in shell scripts.

Switches

  • -u Print only lines which are not repeated (unique) in the original file
  • -d Don't output lines that are not repeated in the input.
  • -c Generate an output report in default style except that each line is preceded by a count of the number of times it occurred. If this option is specified, the -u and -d options are ignored if either or both are also present.
  • -i Ignore case differences when comparing lines
  • -f Ignore a number of fields in a line
  • -s Skips a number of characters in a line
  • -w Specifies the number of characters to compare in lines, after any characters and fields have been skipped
  • --help Displays a help message
  • --version Displays version number on stdout and exits.

See also