Comandos Linux – Comando uniq

Comando Linux uniq

comando uniq

Em sistemas operacionais do tipo Unix, o comando uniq reporta ou filtra linhas repetidas em um arquivo.

Este documento cobre a versão GNU / Linux do uniq .

Descrição

O uniq filtra as linhas adjacentes correspondentes do arquivo de entrada INPUT , gravando os dados filtrados no arquivo de saída OUTPUT .

Se INPUT não for especificado, o uniq lê da entrada padrão .

Se OUTPUT não for especificado, o uniq gravará na saída padrão.

Se nenhuma opção for especificada, as linhas correspondentes serão mescladas à primeira ocorrência.

Sintaxe

uniq [ OPÇÃO ] ... [ ENTRADA [ SAÍDA ]]

Opções

-c , –count Prefixe as linhas com um número que representa quantas vezes elas ocorreram.
-d , –repetido Imprima apenas linhas duplicadas.
-D , –todos repetidos [ delimit-method ] Imprima todas as linhas duplicadas. delimit-method pode ser um dos seguintes:

Nenhum Não delimite linhas duplicadas. Esse é o padrão.
preceder Insira uma linha em branco antes de cada conjunto de linhas duplicadas.
separado Insira uma linha em branco entre cada conjunto de linhas duplicadas.

A opção -D é a mesma que especificar –all-repeat = none .

-f N , –skip-fields = N Evite comparar os primeiros N campos de uma linha antes de determinar a exclusividade. Um campo é um grupo de caracteres , delimitado por espaços em branco .

Essa opção é útil, por exemplo, se as linhas do seu documento estiverem numeradas e você quiser comparar tudo na linha, exceto o número da linha. Se a opção -f 1 for especificada, as linhas adjacentes

1 Esta é uma linha. 
2 Esta é uma linha.

seria considerado idêntico. Se nenhuma opção -f fosse especificada, elas seriam consideradas únicas.

-i , –ignore-case Normalmente, as comparações diferenciam maiúsculas de minúsculas . Esta opção realiza comparações que não diferenciam maiúsculas de minúsculas.
-s N , – skip-chars = N Evite comparar os primeiros N caracteres de cada linha ao determinar a exclusividade. É como a opção -f , mas ignora caracteres individuais em vez de campos.
-u , –unique Imprima apenas linhas exclusivas.
-z , –zero-terminado Linhas finais com 0 byte ( NULL ), em vez de uma nova linha .
-w , –check-chars = N Compare no máximo N caracteres em linhas.
–Socorro Exiba uma mensagem de ajuda e saia.
–versão Informações de versão de saída e saída.

Notas

O uniq não detecta linhas repetidas, a menos que elas sejam adjacentes. Você pode classificar a entrada primeiro ou usar sort -u em vez de uniq .

Exemplos

Digamos que temos um arquivo de texto de oito linhas, myfile.txt , que contém o seguinte texto:

Esta é uma linha.
Esta é uma linha.
Esta é uma linha.
 
Isso também é uma linha.
Isso também é uma linha.
 
Isso também é uma linha.

… Aqui estão várias maneiras de executar o uniq neste arquivo e a saída que ele cria:

uniq myfile.txt
Esta é uma linha.
 
Isso também é uma linha.
 
Isso também é uma linha.
uniq -c myfile.txt
3 Esta é uma linha.
1  
2 Esta também é uma linha.
1  
1 Isso também é uma linha.
uniq -d myfile.txt
Esta é uma linha. 
Isso também é uma linha.
uniq -u myfile.txt
Isso também é uma linha.

comm – Compare dois arquivos classificados linha por linha.
pacote – Compactar arquivos usando um algoritmo de Huffman.
pcat – imprime o conteúdo não compactado de um arquivo compactado.
sort – Ordena as linhas em um arquivo de texto.
descompactar – Extrai arquivos de arquivos compactados.

Categorias
Compartilhe esse post

Posts populares

Linux Force Security Cursos de linux e segurança da informação

Seu futuro na tecnologia começa agora! Não deixe essa chance escapar.