uniq: comando Linux para encontrar texto duplicado

Às vezes, é provável que você tenha arquivos de texto muito longos entre os quais é difícil encontrar certos padrões ou linhas ou palavras duplicadas, ou talvez haja um monte de pequenos arquivos de texto com os quais você deseja combinar mais facilmente e até usar um pipe e combinar a saída de um comando. Pois bem, uniq é o comando o que você está procurando por isso.

Com o Uniq você pode procure informações redundantes de uma forma muito simples. Além disso, também permitirá que você remova essas duplicatas, se necessário. E, neste tutorial, você verá alguns exemplos do comando que podem ser úteis. Lembre-se que ele é instalado por padrão na grande maioria das distros, então você não precisará instalar o pacote...

Bem, antes de tudo, vamos ver um exemplo para entender o básico do comando uniq e o que ele faz e o que não faz. Por exemplo, imagine que você cria um arquivo de texto chamado test.txt, e dentro você coloca várias frases ou palavras repetidas, como repetir três linhas «Oi isso é um teste» e, em seguida, use uniq com ele:

nano prueba.txt

uniq prueba.txt

Bem, nesse caso, a saída do comando será simplesmente:

Salida:

Hola, esto es una prueba

Ou seja, coloque uma única linha «Oi isso é um teste» eliminando os outros 2 que são iguais. Mas cuidado, se você usar cat novamente para ver o original, verá que eles não foram removidos do arquivo, ele simplesmente os removeu da saída:

cat prueba.txt

cuja saída seria:

Hola, esto es una prueba

Hola, esto es una prueba

Hola, esto es una prueba

Mas o comando uniq tem muito mais opções disponíveis. Por exemplo, pode dizer-lhe o número de vezes que uma linha é repetida, indicando no início da linha o número de repetições. Para isso:

uniq -c prueba.txt

Você também poderia apenas imprimir linhas repetidas, e ignore os não repetidos:

uniq -d prueba.txt

Ou aqueles que não são duplicados com a opção -u:

uniq -u prueba.txt

Para usar sensível a maiúsculas e minúsculas e diferencia maiúsculas de minúsculas, você pode usar a opção -i:

uniq -i prueba.txt

Ok, e como isso poderia ser feito para crie um arquivo apenas com as linhas exclusivas, eliminando todas as duplicatas de uma vez. Bem, é tão simples quanto usar um pipe para canalizar a saída do uniq para um novo arquivo de texto:

uniq prueba.txt > unicas.txt


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.