[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Comando grep
From: |
marcos_laureano |
Subject: |
Re: Comando grep |
Date: |
Thu, 24 Jan 2002 19:34:35 -0000 |
User-agent: |
eGroups-EW/0.82 |
Elizabete
O comando grep permite que você procure por mais de uma padrão.
No seu caso, você pode utilizar grep -e deadlock -e ocurred
<arquivo.qualquer>. O comando desta forma, irá mostrar todas as
linhas com a palavra deadlock ou ocurred. Testei no unix-aix e
funcionou....
Marcos Laureano
Analista de Suporte - IT/SECURITY
41-340-5529
address@hidden
--- In shell-script@y..., Fred <mfleao@p...> wrote:
> Elizabete,
> Começo dizendo que não tenho uma resposta completa.
> Mas o erro no seu comando se da pelo seguinte problema.
>
> Se você tem como saÃda o seguinte texto:"
> # comando
> deadlock
>
> ocurred
> #
> //então,
> # comando | grep deadlock
> //irá mostrar apenas
> deadlock
> // portanto o comando
> # comand | grep deadlock | grep ocurred
> // não mostrará nada, a não ser que a saÃda seja:
> # comando
> deadlock ocurred
> //Então estando na mesma linha, o grep captura a linha inteira por
padrão.
> # comando | grep deadlock | grep ocurred
> ocurred
> //Este seria o retorno
> Por tanto acredito que se você trocar o comando:
> `cat LogsDir/file-$counter.log | grep deadlock | grep occurred`
> por
> `cat LogsDir/file-$counter.log | xargs|grep deadlock|grep ocurred`
> // xargs, não sei exatamente a função, mas usando dessa maneira
colocará o resultado do comando em uma única linha.
> Da mesma forma, não resolveria, tenho passado por problemas desse
tipo também, gostaria que quem soubesse de uma solução que faça com
que possamos escolher duas strings que se identifiquem com a saÃda do
comando, mostrando as apenas elas, desse-nos uma dica.
>
> ----
> Fred - Dept. Linux
> Planae Informática
>
> On Tue, 22 Jan 2002, Elizabete Azevedo wrote:
>
> > Date: Tue, 22 Jan 2002 03:13:21 -0800 (PST)
> > From: Elizabete Azevedo <elizazevedo@y...>
> > Reply-To: shell-script@y...
> > To: shell-script@y...
> > Subject: [shell-script] Comando grep
> >
> > X-AntiVÃrus: este e-mail passou pelo antivÃrus AMaViS 0.2.1
(http://amavis.org/)
> >
> > Bom dia ....
> >
> >
> > Tenho um pequeno script, que gera um ficheiro de log,
> > por cada acoorrencia à base de Dados,
> > nesse script, tenho um while que procura no ficheiro
> > de log, gerado na execução anterior, a palavra
> > 'deadlock'
> > se essa existir deverá correr novamente o processo
> >
> > while [ -n "`cat LogsDir/file-$counter.log | grep
> > deadlock`" ]
> > do
> > counter=`expr $counter + 1`
> > print "**************************** $data - $hora
> > *******************************" >>
> > LogsDir/file-$counter.log
> > print >> LogsDir/file-$counter.log
> >
> > ###executa processamento *Ã BD
> >
> > done
> >
> > este script esta a funcionar, para garantir que o
> > processo nao fica a meio, porque tenho muitos
> > utilizadores aceder,
> > concorrencialmente à BD, mas agora tenho necessidade
> > de fazer outro tipo de grep, i. é :
> >
> > Preciso que seja feito o cat ao ficheiro e que procure
> > pela palavra 'deadlock' e/ou 'occurred', como posso
> > fazer isso
> > no comando while ?
> >
> >
> > Tentei :
> > while [ -n "`cat LogsDir/file-$counter.log |
> > grep deadlock | grep occurred`" ], mas dá erro,
> >
> > será que me podem ajudar, pf?
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Send FREE video emails in Yahoo! Mail!
> > http://promo.yahoo.com/videomail/
> >
> > Sair da lista: shell-script-unsubscribe@e...
> > Banco Dados: http://www.egroups.com/group/shell-script
> >
> > Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
> >