shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Comparar elementos.


From: Michel I. Moreira
Subject: Re: [shell-script] Comparar elementos.
Date: Mon, 25 Jun 2007 16:45:45 -0300
User-agent: Thunderbird 1.5.0.10 (X11/20070403)

Tiago essa solução realmente resolveu o meu problema, muito obrigado.

Mas se alguem souber como se faz isso em AWK gostaria de ver para aprender mais.

A proposito.....como  faco para testar linha a linha de um arq de log.

exemplo:
logx.log
erro1
erro2
erro3
erron


se for erro1 faço tal coisa
se for erro2 mando email
se for erro3 faço outra coisa

Obrigadão

Michel

Tiago Barcellos Peczenyj escreveu:

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]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]