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ú.
-umostra només les entrades úniques.-dnomés les entrades duplicades.-Dmostra totes les còpies de duplicats.-cprefix de comptatge.-iignora majúscules i minúscules en determinar duplicats.-fomet els primers N camps la separació de camp; es basa només en un o més caràcters d’espai/tabulació.-somet els primers N caràcters.-wrestringeix 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