[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 17:50:51 +0000 (GMT) |
tirei os milisegundos e a versão final desse script
ficou assim:
----------------------------------
#!/bin/bash
logFile="log2.log"
tail -f $logFile | grep
"org.ourgrid.mygrid.scheduler.Workqueue.schedule:105"
--line-buffered | sed -u -e s/[][\']//g -e
s/:[0-9][0-9][0-9]// | awk -F" " '{print
$1,$2,$6,$12}'
----------------------------------
já esta monitorando a minha base e gerando o
relatório.
Grato pela ajuda e aprendizado.
Marco
--- murgent_shell <address@hidden>
escreveu:
>
> 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
> > > >
> > > >
> > > >
>
=== 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, 2005/10/07
- Re: [shell-script] pipes?,
murgent_shell <=
RE: [shell-script] pipes?, Reinaldo Marques de Lima, 2005/10/06