Michel
experimente fazer isto:
$ uniq -cd arquivo.log
Talvez seja o que vc procura: o comando uniq pode remover linhas
duplicadas
de um arquivo (se este estiver ordenado). as opções c são para contar e d
para imprimir *apenas* as linhas duplicadas.
se o arquivo nao estiver ordenado, sort nele!
$ sort arquivo.log | uniq -cd
provavelmente sera mais rapido do que awk + sed, porem quem sabe...
[]´s Tiago
On 6/25/07, Michel I. Moreira <address@hidden
<mailto:michelmoreira%40gmail.com>> wrote:
>
> Boa tarde pessoal,
>
> Estou tentando fazer um script, que pegue todos os elementos repetidos
> de um log, e conte cada um deles, e apresente na tela o elemento e
> total de vezes que cada aparece. Tentei algo do tipo
>
> #!/bin/bash
> cat log.log |awk '{A=NR-1 if (NR > 1) if ($1 = $A) cont++; print $1 "
> total é " $cont }'
>
> Não esta rodando. A logica é:
>
> se a linha for > que 1
> se linhaAtual = linhaAnterior
> cont ++
> imprimir Elemento
> imprimir total do elemento
>
> Só não sei implementar isso em AWK ou Shell
>
> Alguma idéia???
>
> Vlws
>
> Michel
>
>
>
--
Tiago B Peczenyj
Linux User #405772
http://peczenyj.blogspot.com/ <http://peczenyj.blogspot.com/>
[As partes desta mensagem que não continham texto foram removidas]