uniq
Reportar u omitir lineas repetidas
Un caso de uso de este comando es cuando queremos obtener las lineas únicas de un fichero o una entrada.
Supongamos que tenemos un fichero de texto ficheroEjemplo.txt y queremos obtener todas las entradas del fichero desechando las duplicadas, el fichero contiene:
item 1
item 1
item 2
item 2
item 3
item 4
item 5
item 6
En este caso el item 1 y 2 se repiten varias veces por lo que si ejecutamos:
cat ficheroEjemplo.txt | uniq
Devolverá
item 1
item 2
item 3
item 4
item 5
item 6
man uniq
NAME
uniq - report or omit repeated lines
SYNOPSIS
uniq [OPTION]... [INPUT [OUTPUT]]
DESCRIPTION
Filter adjacent matching lines from INPUT (or standard input), writing to OUTPUT (or standard output).
With no options, matching lines are merged to the first occurrence.
Mandatory arguments to long options are mandatory for short options too.
-c, --countprefix lines by the number of occurrences-d, --repeatedonly print duplicate lines, one for each group-Dprint all duplicate lines--all-repeated[=METHOD]like-D, but allow separating groups with an empty line; METHOD={none(default),prepend,separate}-f, --skip-fields=Navoid comparing the first N fields--group[=METHOD]show all items, separating groups with an empty line; METHOD={separate(default),prepend,append,both}-i, --ignore-caseignore differences in case when comparing-s, --skip-chars=Navoid comparing the first N characters-u, --uniqueonly print unique lines-z, --zero-terminatedline delimiter is NUL, not newline-w, --check-chars=Ncompare no more than N characters in lines--helpdisplay this help and exit--versionoutput version information and exit
A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars.
Note: uniq does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use sort -u without uniq. Also, comparisons honor the rules specified by LC_COLLATE.