uniq - report or filter out repeated lines in a file
uniq [-c | -d | -u] [-f fields] [-s chars] [input files]
The uniq utility reads the standard input comparing adjacent lines and
writes a copy of each unique input line to the standard output. The sec-
ond and succeeding copies of identical adjacent input lines are not writ-
ten. Repeated lines in the input will not be detected if they are not
adjacent, so it may be necessary to sort the files first.
The following options are available:
- c
-
Precede each output line with the count of the number of times the line
occurred in the input, followed by a single space.
Don't output lines that are not repeated in the input.
- f fields
-
Ignore the first fields in each input line when doing compar- isons. A
field is a string of non-blank characters separated from adjacent fields by
blanks. Field numbers are one based, i.e. the first field is field one.
- s chars
-
Ignore the first chars characters in each input line when doing
comparisons. If specified in conjunction with the -f option, the first chars characters after the first fields fields will be
ig- nored. Character numbers are one based, i.e. the first character is
character one.
- u
-
Don't output lines that are repeated in the input.
If additional arguments are specified on the command line, they are used as
the names of input files.
The uniq utility exits 0 on success or >0 if an error occurred.
The historic -number and +number options are supported as synonyms for -f fields and -s chars, respectively.
This version accepts 0 as a valid argument for the -f and
-s switches; some implementations of uniq do not.
sort
uniq has no known bugs.
The Perl implementation of uniq was written by Jonathan Feinberg,
jdf@pobox.com.
This program is copyright (c) Jonathan Feinberg 1999.
This program is free and open software. You may use, modify, distribute,
and sell this program (and any modified variants) in any way you wish,
provided you do not restrict others from doing the same.