Hey Michel,
em awk, você também poderia executar determinado comando de acordo com
um padrão encontrado na linha. No exemplo que você propôs:
$ tail -f logx.log | \
awk '/erro1/{ system("echo \"faça tal coisa\"") } \
/erro2/{ system("echo \"mande e-mail\"") } \
/erro3/{ system("echo \"faça outra coisa\"") }'
Desta forma, basta preencher/substituir os "system"s.
hasta!
jr.
On 6/25/07, Tiago Barcellos Peczenyj <address@hidden
<mailto:tiago.peczenyj%40gmail.com>> wrote:
> Certo, vamos la
>
> awk 'NR > 1{ linha[$0]++ }END{for(i in linha) {if (linha[i] > 1)
print i}
> }';
>
> neste exemplo eu crio um vetor associativo (hash) cujo indice é uma
string
> -- considere as linhas
>
> meu log
> asdasd
> asdasd
> xixixixix
>
> na linha "meu log" o awk não vai fazer nada
> na linha "asdasd" o awk vai fazer linha["asdasd"]++; ou seja, o conteudo
> dessa variavel sera acrescentado em 1. Como não existia essa
variavel antes,
> ela é criada dinamicamente e atribuido a ela o valor 0. nesta linha ela
> passara a valer 1.
>
> na outra linha "asdasd" vai acontecer a mesma coisa, mas agora o
elemento
> asdasd do hash 'linha' vale um, e passara a ter valor 2.
>
> na linha 'xixixixix' acontecera o mesmo que na linha numero 2,
apenas com
> outro indice.
>
> vale dizer que isso opera linha a linha -- se o seu elemento é uma
palavra
> deves repensar um pouco o script ;-)
>
> []´s Tiago
>
> On 6/25/07, Michel I. Moreira <address@hidden
<mailto:michelmoreira%40gmail.com>> wrote:
> >
> > 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.
> >
> >
> >
> --
> 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]
>
>
>
> ----------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de
programação, como perl, C etc. Quem insistir em não seguir esta regra
será moderado sem prévio aviso.
> ----------------------------------------------------------
> Sair da lista: address@hidden
<mailto:shell-script-unsubscribe%40yahoogrupos.com.br>
> ----------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net <http://www.listas-discussao.cjb.net>
> ----------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
> Links do Yahoo! Grupos
>
>
>