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

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


reply via email to

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