uniq
—
report or filter out repeated lines in a file
uniq |
[-cdu ] [-f
fields] [-s
chars] [input_file
[output_file]] |
The uniq
utility reads the standard input comparing
adjacent lines, and writes a copy of each unique input line to the standard
output. The second and succeeding copies of identical adjacent input lines are
not written. 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.
-d
- Don't output lines that are not repeated in the input.
-f
fields
- Ignore the first fields in each input line when
doing comparisons. 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
ignored. Character numbers are one based, i.e., the first character is
character one.
-u
- Don't output lines that are repeated in the input.
Additional arguments input_file and
output_file may be specified on the command line,
where the former is then used as the name of an input file, and the latter
as the name of an output file.
The uniq
utility exits 0 on success,
and >0 if an error occurs.
The historic +
number and
-
number options have been
deprecated but are still supported in this implementation.
The uniq
utility is expected to be IEEE
Std 1003.2 (“POSIX.2”) compatible.