Comandos_GNU-UNIX
02_Processar_fluxos_de_texto
Comando Uniq

Comando Uniq

O comando uniq é uma ferramenta de linha de comando em sistemas Unix e Unix-like, como o Linux, que é usada para lidar com linhas duplicadas em arquivos de texto. O nome "uniq" é uma abreviação de "unique" (único), refletindo seu propósito principal, que é identificar e remover linhas duplicadas de um arquivo de texto. Abaixo estão alguns aspectos importantes sobre o comando uniq:

Sintaxe básica:

uniq [OPÇÕES] [ARQUIVO]

Principais opções do comando uniq

  • -d ou --repeated:

Essa opção permite que o uniq exiba apenas as linhas que são duplicatas. Em outras palavras, ele exibirá apenas as linhas que ocorrem mais de uma vez no arquivo.

  • -i ou --ignore-case:

Com essa opção, o uniq fará a comparação de linhas sem diferenciação entre maiúsculas e minúsculas. Isso significa que "linha" e "Linha" serão tratadas como iguais.

  • -u ou --unique:

O uniq com a opção -u exibirá apenas as linhas que não têm duplicatas. Ele mostrará apenas as linhas únicas no arquivo.

  • -c ou --count:

Esta opção faz com que o uniq pré-fixe cada linha com um contador que indica quantas vezes essa linha ocorre no arquivo.

  • -f N ou --skip-fields=N: Essa opção permite que o uniq ignore os primeiros N campos (colunas) de cada linha ao realizar a comparação. Isso pode ser útil quando você deseja ignorar colunas iniciais que não afetam a identificação de duplicatas.

Exemplos de uso do comando uniq

Para exibir apenas as linhas duplicadas em um arquivo chamado "dados.txt":

  • uniq -d dados.txt

Para exibir apenas as linhas únicas (não duplicadas) em um arquivo chamado "nomes.txt":

  • uniq -u nomes.txt

Para contar o número de ocorrências de cada linha em um arquivo chamado "registro.log" e mostrar o resultado:

  • uniq -c registro.log

Para ignorar os dois primeiros campos (colunas) e exibir as linhas únicas em um arquivo chamado "dados.csv":

  • uniq -f 2 dados.csv

O comando uniq é frequentemente usado para simplificar arquivos de registro, remover duplicatas de listas ou tabelas e realizar tarefas relacionadas à deduplicação de dados. É uma ferramenta útil para limpeza e análise de dados em arquivos de texto.