[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] pipes?
From: |
murgent_shell |
Subject: |
Re: [shell-script] pipes? |
Date: |
Fri, 7 Oct 2005 15:48:50 +0000 (GMT) |
Pessoal
Agora eu consegui.
#!/bin/bash
logFile="log2.log"
tail -f $logFile | grep
"org.ourgrid.mygrid.scheduler.Workqueue.schedule:105"
--line-buffered | sed -u s/[][\']//g | awk -F" "
'{print $1,$2,$6,$12}'
O que foi feito? apenas inverti a posição do sed pela
do awk. Não entendi muito bem mas funciona, agora toda
vez que um log e gerado on the fly o script analisa a
linha e se a mesma casa com o grep a saída eh:
2005/9/23 17:8:9:116 nodo1
Perfeito então uma última pergunta, o que devo fazer
para retirar os milisegundos.
2005/9/23 17:8:9 nodo1
Valeu
--- murgent_shell <address@hidden>
escreveu:
>
> Eh muito estranho acabo de substituir somente a
> parte
> do cut por:
>
> awk -F" " '{ print $1,$2,$6,$12}'
>
> resultado? se eu retiro o tail -f tudo funciona, mas
> com ele lá na frente não.
>
> Não entendi.
>
>
> --- murgent_shell <address@hidden>
> escreveu:
>
> >
> > Pessoal
> >
> > Mais uma vez muito obrigado, pois realmente não
> > sabia
> > como fazer diversas substituições de uma única vez
> > com
> > o sed. além disso, tb nãqo conhecia o -u do sed,
> mas
> > ainda não resolveu :-(
> >
> > vejam:
> >
> > echo "[20:33:45] 'oi'" | sed s/[][\']//g
> >
> > 20:33:45 oi
> >
> > perfeito, mas no contexto do meu script, isto é:
> >
> > tail -f $logFile | grep
> >
>
"org.ourgrid.mygrid.scheduler.Workqueue.schedule:105"
> > --line-buffered | cut -f1,2,6,12 -d" " | sed -u
> > s/[][\']//g
> >
> > simplesmente não funciona é como se a saída
> > resultada
> > pelo cut não estivesse em memória - pelo menos eh
> > isso
> > que me pareceu.
> >
> > Alguma luz?
> >
> > Grato
> >
> > --- Fabiano Caixeta Duarte <address@hidden>
> > escreveu:
> >
> > > Conforme o Eliphas ja disse, vc pode usar o
> > > parâmetro -u do sed. E pode
> > > também fazer apenas uma chamada ao sed :)
> > >
> > > | sed -u s/[][\']//g
> > >
> > > Todos os caracteres entre [] são consultados...
> o
> > > macete de procurar
> > > pelos caracteres colchetes é colocá-los na
> > sequência
> > > que citei, ou seja
> > > assim: [][]
> > >
> > > Falow!
> > >
> > > Fabiano Caixeta Duarte
> > > Consultor em soluções para Redes de Computadores
> > > Ribeirão Preto - SP
> > >
> > > murgent_shell escreveu:
> > > > Pessoal com a ajuda de vcs ao poucos estou
> > > > conseguindo, vejam:
> > > >
> > > > -------------------
> > > >
> > > > #! /bin/bash
> > > >
> > > > logFile="log2.log"
> > > >
> > > > tail -f $logFile | grep
> > > >
> > >
> >
>
"org.ourgrid.mygrid.scheduler.Workqueue.schedule:105"
> > > > --line-buffered | cut -f1,2,6,12 -d" "
> > > >
> > > > -------------------
> > > >
> > > > A saída desse script eh:
> > > >
> > > > [2005/9/23 17:8:9:116] nodo12 '1.1.1'
> > > >
> > > > Agora preciso tratar essa saída para que fique
> > da
> > > > seguinte forma:
> > > >
> > > > 2005/9/23 17:8:9:116 nodo12 1.1.1
> > > >
> > > > ou seja sem "[" "]" "aspas"
> > > >
> > > > pensei em fazer da seguinte forma, logo após o
> > cut
> > > > incluir
> > > >
> > > > | sed s/"\["// | sed s/"\]"// | sed s/\'//g
> > > >
> > > > isso funciona se eu usar grep e cut sem o tail
> > -f,
> > > mas
> > > > qdo insiro o tail -F isso não funciona,
> > novamente
> > > me
> > > > parece uma questão de buffer.
> > >
> > >
> > >
> >
>
---------------------------------------------------------------------
> > > 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
> > >
> >
>
---------------------------------------------------------------------
> > >
> > > Links do Yahoo! Grupos
> > >
> > >
> > >
> > > http://br.yahoo.com/info/utos.html
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
_______________________________________________________
> >
> > Novo Yahoo! Messenger com voz: ligações, Yahoo!
> > Avatars, novos emoticons e muito mais. Instale
> > agora!
> > www.yahoo.com.br/messenger/
> >
> >
> >
>
---------------------------------------------------------------------
> > 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
> >
>
---------------------------------------------------------------------
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> > http://br.yahoo.com/info/utos.html
> >
> >
> >
> >
> >
>
=== message truncated ===
_______________________________________________________
Novo Yahoo! Messenger com voz: ligações, Yahoo! Avatars, novos emoticons e
muito mais. Instale agora!
www.yahoo.com.br/messenger/
- pipes?, murgent_shell, 2005/10/03
- Re: [shell-script] pipes?, Fabiano Caixeta Duarte, 2005/10/04
- Re: [shell-script] pipes?, murgent_shell, 2005/10/05
- Re: [shell-script] pipes?, Eliphas Levy Theodoro, 2005/10/05
- Re: [shell-script] pipes?, Fabiano Caixeta Duarte, 2005/10/05
- Re: [shell-script] pipes?, murgent_shell, 2005/10/06
- Re: [shell-script] pipes?, murgent_shell, 2005/10/06
- Re: [shell-script] pipes?,
murgent_shell <=
- Re: [shell-script] pipes?, murgent_shell, 2005/10/07
RE: [shell-script] pipes?, Reinaldo Marques de Lima, 2005/10/06