Respostas:
Eu descobri; uma das uniq
opções é -c
"para linhas de prefixo pelo número de ocorrências":
$ uniq -c
sort | uniq
A \ A \ A \ B \ A \ CC
, a saída de just uniq -c
seria mostrada A 3
e mais tarde mostrada A 1
. Classificando primeiro, irá garantir todas as linhas idênticas são agrupados
Eu só vim aqui com um problema semelhante. A partir disso, consegui montar um comando um pouco mais avançado, que espero que seja útil para outros.
Como Steven D disse nos comentários acima, uniq
conta apenas as linhas de repetição adjacentes, então você precisa classificar as linhas primeiro. Depois disso, encontramos as linhas exclusivas e, em seguida, classificamos novamente, para que as linhas mais ocorrentes estejam no topo.
sort file.txt | uniq -c | sort -nr > output.txt
A saída é redirecionada para o arquivo output.txt
. Se você quiser apenas exibir os resultados na linha de comando, remova o redirecionamento e altere o último comando para sort -n
que a linha mais comum fique na parte inferior, ou seja, definitivamente ainda esteja na tela.
cat file.txt | sort
com apenas sort file.txt
. :)
cat
item por algo mais interessante. Desde que, você sabe, não há cat
.
< file.txt sort | uniq -c
. Isso é fácil de editar e ainda evita o desnecessário cat
.
uniq -c filename.txt | sed 's/[^0-9]*\\([0-9]\+\\) \\(.*\\)/\2 \1/'