linux sort -n uniq -c

0

Eu tenho um arquivo de texto que contém cerca de 50 MB de texto:

valA
valB
valC
valZ
valB

Qual é a maneira mais rápida de:

  1. cat o arquivo
  2. Exibir as aparências exclusivas
por Clustermagnet 14.09.2012 / 02:25

2 respostas

3

Uma maneira de usar awk :

awk '!array[$0]++' file.txt

Resultados:

valA
valB
valC
valZ

Alimento para o pensamento:

sort -u file.txt

valA
valB
valC
valZ

< file.txt sort | uniq

valA
valB
valC
valZ

< file.txt sort | uniq -u                 # only print unique lines

valA
valC
valZ

< file.txt sort | uniq -d                 # only print duplicate lines

valB
    
por 14.09.2012 / 02:27
1

sort text.txt | uniq -c | grep "^\s*1 "

  • você precisa classificar antes de uniq
  • grep aqueles de contagem = 1

note que valB não é único aqui.

Editar

Como eu poderia sentir a falta de -u para o uniq: uniq -u ainda use essa maneira tola:)

    
por 14.09.2012 / 02:34

Tags