Menu
Coddy logo textTech

Comando Uniq

Parte da seção Fundamentos do Journey de Terminal da Coddy — lição 33 de 82.

O comando uniq filtra linhas duplicadas consecutivas de um arquivo, mostrando apenas linhas únicas.

Temos duplicates.txt:

apple
banana
apple
cherry
banana
banana

Importante: uniq remove apenas duplicatas que estão uma ao lado da outra. É por isso que é quase sempre usado junto com sort primeiro:

sort duplicates.txt | uniq

O símbolo | é chamado de pipe — ele envia a saída de um comando como a entrada para outro. Este é um padrão poderoso que você usará com frequência no terminal.

Flags úteis:

-c — prefixa cada linha com a contagem de quantas vezes ela aparece:

sort duplicates.txt | uniq -c
      2 apple
      3 banana
      1 cherry

-d — mostre apenas as linhas que são duplicadas:

sort duplicates.txt | uniq -d

-u — mostre apenas linhas que aparecem exatamente uma vez:

sort duplicates.txt | uniq -u
challenge icon

Desafio

Iniciante

Use sort e uniq juntos para exibir apenas as linhas únicas do duplicates.txt sem duplicatas.

Dica: Você precisa ordenar o arquivo primeiro com sort para que as duplicatas fiquem agrupadas, depois usar o pipe | para passar o resultado ao uniq e removê-las.

Folha de consulta

O comando uniq filtra linhas duplicadas consecutivas de um arquivo. Ele remove apenas duplicatas que estão uma ao lado da outra, por isso é tipicamente usado com sort primeiro:

sort duplicates.txt | uniq

O símbolo | é um pipe — ele envia a saída de um comando como entrada para outro.

Flags úteis:

-c — antepõe a cada linha a contagem de ocorrências:

sort duplicates.txt | uniq -c

-d — mostra apenas as linhas duplicadas:

sort duplicates.txt | uniq -d

-u — mostra apenas as linhas que aparecem exatamente uma vez:

sort duplicates.txt | uniq -u

Experimente você mesmo

Terminal
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos