1.11. Buscar, ordenar i associar fitxers
1.11.5. «uniq»
Aquesta ordre t’ajuda a identificar i eliminar duplicats. S’ha d’utilitzar amb entrades ordenades, ja que la comparació es realitza només entre línies adjacents, la qual cosa significa que primer cal utilitzar l’ordre sort
abans que l’ordre uniq
. Es mostren a continuació les opcions d’ús comú.
-u
mostra només les entrades úniques.-d
només les entrades duplicades.-D
mostra totes les còpies de duplicats.-c
prefix de comptatge.-i
ignora majúscules i minúscules en determinar duplicats.-f
omet els primers N camps la separació de camp; es basa només en un o més caràcters d’espai/tabulació.-s
omet els primers N caràcters.-w
restringeix la comparació als primers N caràcters.
De forma predeterminada, uniq
retiene sólo una copia de las líneas duplicadas.
$ cat sistemes.txt
GWAS RNA-Seq WES GWAS ChIP-Seq RNA-Seq NGS RNA-Seq
# Ordena i elimina els duplicats
$ sort sistemes.txt | uniq
ChIP-Seq GWAS NGS RNA-Seq WES
# Ordena i imprimeix únicament les ocurrències no repetides
$ sort sistemes.txt | uniq -u
ChIP-Seq NGS WES
# Ordena i imprimeix únicament les ocurrències repetides
$ sort sistemes.txt | uniq -d
GWAS RNA-Seq
# Ordena per número d’ocurrència
$ sort sistemes.txt | uniq -c | sort -nr
3 RNA-Seq 2 GWAS 1 WES 1 NGS 1 ChIP-Seq
Si continuem amb el fitxer hg38_RefSeq per eliminar línies duplicades consecutives, s’utilitza l’ordre uniq
. És important recordar que, per a una eliminació completa de duplicats, cal ordenar l’arxiu amb sort
abans d’utilitzar uniq
:
$ cat hg38_RefSeq | cut -f 2,4| sort -2rn | uniq