[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Duvida Find
From: |
Eliphas Levy Theodoro |
Subject: |
Re: [shell-script] Duvida Find |
Date: |
Wed, 15 Dec 2004 17:04:50 -0200 (BRST) |
O tee só funciona para jogar no stdout o que está vindo no stdin, além
de gravar no arquivo informado na linha de comando dele.
Mas pode ser feito com o xargs em verbose e o grep pegando um pouco mais
de coisa:
xargs -n1 -t tail -n30 | grep -i "ORA-\|^tail -n30"
O -n1 faz o xargs executar um comando pra cada arquivo, e o -t faz ele
mostrar o que está sendo executado.
O grep está instruído para, além de pegar o que você quer, pegar a linha
de comando que o xargs está mostrando.
Depois disso você pode até fazer um sed tirando fora a linha de comando:
| sed 's/^tail -n30 //'
Assim deve ficar igual ao teu exemplo.
--
Eliphas
Julio Cezar Neves - DATAPREVRJ, @ 11:10:
> Thiago,
> não tenho certeza se funcionará, mas troque | xargs por | tee xargs.
>
> | -----Mensagem original-----
> | De: Thiago M Zerbinato [mailto:address@hidden]
> |
> | Julio Cezar Neves - DATAPREVRJ wrote:
> |
> | > Aê Thiago,
> | > então substitua o exec por um xargs é mais rápido e funciona:
> | >
> | > find analisar/13122004/ -name 'alert*.log' -o -name 'amhpl*.log' |
> | > xarg tail -30 | grep -i "ORA-"
> | Julio,
> |
> | Funcionou....
> |
> | find analisar/14122004/ -name 'alert*.log' -o -name
> | 'amhpl*.log' | xargs
> | tail -n 30 |grep -i "ORA-"
> |
> | Agora vem mais uma duvida/problema, tem como eu identificar de qual
> | arquivos ele esta trazendo esses resultados ? Exemplo:
> |
> | [dbsimplex@spx004 attach]$ find analisar/14122004/ -name
> | 'alert*.log' -o
> | -name 'amhpl*.log' | xargs tail -n 30 |grep -i "ORA-"
> |
> | /arquivo/alert_cliente.log
> | ORA-12012: error on auto execute of job 161
> | ORA-01008: not all variables bound
[As partes desta mensagem que não continham texto foram removidas]