sed -e "s/\[.*\]\([^:]*\)\(.*\)//" error.sml.log | sort | uniq -c
1 Apache configured -- resuming normal operations
3886 client denied by server configuration
2 Digest
6091 File does not exist
20 request failed
Existe uma ferramenta que faz exatamente isso uniq. Eu gostaria de ter encontrado isso algumas horas atrás.
Existem algumas opções úteis, como uniq -d mostra apenas linhas com mais de uma entrada
$ sed -e "s/\[.*\]\([^:]*\)\(.*\)//" error.sml.log | sort | uniq -cd
3886 client denied by server configuration
2 Digest
6091 File does not exist
20 request failed
uniq -u mostra apenas linhas uniq apenas 1 entrada
$ sed -e "s/\[.*\]\([^:]*\)\(.*\)//" error.sml.log | sort | uniq -u Apache configured -- resuming normal operations
Agora, posso processar nossos arquivos de registro de bilhões de linhas e ter uma noção do que está acontecendo ao lado deles.