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

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


reply via email to

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