Guia do Linux/Iniciante+Intermediário/Comandos diversos/uniq

Origem: Wikilivros, livros abertos por um mundo aberto.
Ir para: navegação, pesquisa

O comando uniq mostra o conteúdo de arquivos, suprimindo linhas sequenciais repetidas.

Se utilizado com a opção -u "uniq -u", ele exibe somente linhas que não se repetem.

Já na opção -c "uniq -c", ele contabiliza quantas repetições foram encontradas.


Exemplo:
cat teste_uniq.txt 
joaquim
maria
priscila
joao
joao
norberto
uniq teste_uniq.txt 
joaquim
maria
priscila
joao
norberto
uniq -c teste_uniq.txt 
1 joaquim
1 maria
1 priscila
2 joao
1 norberto


Obs, as linhas repetidas devem estar em sequência para que o uniq tenha efeito.

Uma opção para que as linhas repetidas fiquem próximas, é utilizar o comando sort.

Ajuda distro Ubuntu Linaro


$ uniq --help
Uso: uniq [OPÇÃO]... [ENTRADA [SAÍDA]]
Filtrar  linhas adjacentes coincidentes de INPUT (ou entrada padrão),
escrevendo para OUTPUT (ou saída padrão).
Sem nenhum opção, linhas coincidentes serão mescladas para a primeira ocorrência.
Argumentos obrigatórios para opções longas também o são para opções curtas.
 -c, --count           prefixa as linhas com a quantidade de ocorrências
 -d, --repeated        só emite as linhas duplicadas (um exemplar de cada)
 -D, --all-repeated[=delimit-method] imprime todas as linhas duplicadas
                       delimit-method={none(default),prepend,separate}
                       A Delimitação é feita com linhas em branco
 -f, --skip-fields=N evita comparar os primeiros N campos
 -i, --ignore-case ignora diferenças de maiúsculas/minúsculas ao comparar
 -s, --skip-chars=N evita comparar os primeiros N caracteres
 -u, --unique imprime somente linhas únicas
 -z, --zero-terminated termina linhas com o byte 0, não uma nova linha
 -w, --check-chars=N   compara no máximo N caracteres por linha
     --help     mostra esta ajuda e finaliza
     --version  informa a versão e finaliza

Fonte de auxilio:

Estudo LPI 101