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: Edjunior Machado
Subject: Re: [shell-script] Comparar elementos.
Date: Tue, 26 Jun 2007 08:49:15 -0300

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> 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> 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/


[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
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
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





reply via email to

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