Jump to content

Uniq: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Switches: Removed duplicate switch discription.
Tags: Mobile edit Mobile web edit
Line 9: Line 9:


Using uniq like this is common when building [[pipeline (software)|pipelines]] in [[shell script]]s.
Using uniq like this is common when building [[pipeline (software)|pipelines]] in [[shell script]]s.

==Switches==
*<tt>-u</tt> Print only those lines which are not repeated (unique) in the input.
*<tt>-d</tt> Print only those lines which ''are'' repeated in the input.
*<tt>-c</tt> 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 <tt>-u</tt> and <tt>-d</tt> options are ignored if either or both are also present.
*<tt>-i</tt> Ignore case differences when comparing lines
*<tt>-f</tt> Ignore a number of fields in a line
*<tt>-s</tt> Skips a number of characters in a line
*<tt>-w</tt> Specifies the number of characters to compare in lines, after any characters and fields have been skipped
*<tt>--help</tt> Displays a help message
*<tt>--version</tt> Displays version number on stdout and exits.


==See also==
==See also==

Revision as of 11:12, 26 January 2016

uniq is a Unix utility which, when fed a text file, outputs the file with adjacent identical lines collapsed to one.

First appearing in Version 3 Unix,[1] 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.

See also

References

  1. ^ McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Technical report). CSTR. Bell Labs. 139.