gato duplicado 1.txt | sort -k 2 | uniq -f 1
Se você está se perguntando sobre o sinalizador "classificar", é para dizer "classificar" para classificar com base na segunda coluna.
Exibir todas as linhas, mas as duplicatas separadas
De acordo com todos os exemplos mencionados acima, “uniq” apenas mantém a primeira ocorrência do conteúdo duplicado e remove o resto. Que tal remover todo o conteúdo duplicado? Sim, usando o sinalizador “-u”, podemos forçar “uniq” a manter apenas as linhas não repetitivas.
duplicata de gato.txt | ordenar
duplicata de gato.txt | sort | uniq -u
Hmm, muitas duplicatas se foram ..
Pular caracteres iniciais
Discutimos como dizer ao "uniq" para fazer seu trabalho para outros campos, certo? É hora de iniciar a verificação após um número de caracteres iniciais. Para este efeito, o sinalizador “-s” acompanhado do número de caracteres vai dizer ao “uniq” para fazer o trabalho.
gato duplicado 1.txt | sort -k 2 | uniq -s 2
É semelhante ao exemplo em que "uniq" fazia sua tarefa apenas no segundo campo. Vamos ver outro exemplo com este truque.
duplicata de gato.txt | sort | uniq -s 5
Verifique SOMENTE os caracteres iniciais
Assim como dissemos ao “uniq” para pular os primeiros caracteres, também é possível dizer ao “uniq” para limitar a verificação nos primeiros caracteres. Há um sinalizador “-w” dedicado para essa finalidade.
duplicata de gato.txt | sort | uniq -w 5
Este comando diz ao “uniq” para realizar a verificação de exclusividade nos primeiros 5 caracteres.
Vamos ver outro exemplo deste comando.
gato duplicado 1.txt | sort | uniq -w 5
Ele apaga todas as outras instâncias de entradas "duplicadas" porque fez a verificação de exclusividade na parte "dupli".
Não diferenciação de maiúsculas e minúsculas
Ao verificar a exclusividade, "uniq" também verifica as maiúsculas e minúsculas dos caracteres. Em algumas situações, a distinção entre maiúsculas e minúsculas não importa, então podemos usar o sinalizador "-i" para tornar "uniq" insensível a maiúsculas e minúsculas.
Apresento aqui o arquivo de demonstração.
Uma duplicação realmente inteligente com uma mistura de letras maiúsculas e minúsculas, certo? É hora de invocar a força da “uniq” para limpar a bagunça!
gato duplicado 1.txt | sort | uniq -i
Desejo concedido!
Saída terminada em NULL
O comportamento padrão de “uniq” é terminar a saída com uma nova linha. No entanto, a saída também pode ser encerrada com um NULL. Isso é muito útil se você for usá-lo em scripts. Aqui, o sinalizador “-z” é o que faz o trabalho.
duplicata de gato.txt | sort | uniq -z
Combinando vários sinalizadores
Aprendemos várias bandeiras de “uniq”, certo? Que tal combiná-los juntos?
Por exemplo, estou combinando a insensibilidade a maiúsculas e minúsculas e o número de repetições juntos.
Se você está planejando misturar vários sinalizadores, primeiro certifique-se de que eles funcionem juntos da maneira certa. Às vezes, as coisas simplesmente não funcionam como deveriam.
Pensamentos finais
“Uniq” é uma ferramenta única que o Linux oferece. Com tantos recursos poderosos, pode ser útil de várias maneiras. Para a lista de todas as bandeiras e suas explicações, consulte as páginas man e info de “uniq”.
homem uniq
info uniq
Apreciar!