uniq is used to remove duplicate adjacent lines from a sorted file, sending one copy of each line to standard output or to a second file, if one is specified on the command line.
NOTE: Be warned:
%uniq file1 file2
will not print the unique lines from both file1 and file2 to standard output! It will replace the contents of file2 with the unique lines from file1 .
uniq is often used as a filter ( 1.30 ) . See also comm ( 28.12 ) , sort ( 36.1 ) , and especially sort -u ( 36.6 ) .
options
-c Print each line once, counting instances of each. -d Print duplicate lines once, but no unique lines. -u Print only unique lines (no copy of duplicate entries is kept). - n Ignore first n fields of a line. Fields are separated by spaces or by tabs. + n Ignore first n characters of a field.
You can specify only one of the options
-c
,
-d
, or
-u
.
Examples
To send only one copy of each line from
list
to output file
list.new
:
uniq list list.new
To show which names appear more than once:
sort names | uniq -d
To show which lines appear exactly three times:
grep |
|
---|
- from O'Reilly & Associates' UNIX in a Nutshell (SVR4/Solaris)