uniq —
report or filter out repeated lines in a file
  
    | uniq | [ -cdu] [-ffields] [-schars] [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.
- -ffields
- 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.
- -schars
- Ignore the first chars characters in each input line
      when doing comparisons. If specified in conjunction with the
      -foption, 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.