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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Tratar retorno de comando do prompt


From: nerobarrabas
Subject: Re: Tratar retorno de comando do prompt
Date: Sun, 04 Nov 2012 16:00:48 -0000
User-agent: eGroups-EW/0.82

Grande Fredi!
Seu comando parece funcionar sim.
Mas só às vezes. rsrsrsrs.
Veja os retornos:

sp7437sr032:/tmp# /usr/sbin/asterisk -r -x "khomp links show" | paste -d ':' 
<(grep -Eo 'Link [^-]*' | sed 's/ $//') <(grep -Eo '(Up|Down)[^\|]*' | sed 's/ 
$//') | sed ':a;N;$!ba;s/\n/,/g'

Link '0' on board '0':,Link '1' on board '0':

sp7437sr032:/tmp# /usr/sbin/asterisk -r -x "khomp links show" | paste -d ':' 
<(grep -Eo 'Link [^-]*' | sed 's/ $//') <(grep -Eo '(Up|Down)[^\|]*' | sed 's/ 
$//') | sed ':a;N;$!ba;s/\n/,/g'

:Up (sync)                        ,:Up (sync)

sp7437sr032:/tmp# /usr/sbin/asterisk -r -x "khomp links show" | paste -d ':' 
<(grep -Eo 'Link [^-]*' | sed 's/ $//') <(grep -Eo '(Up|Down)[^\|]*' | sed 's/ 
$//') | sed ':a;N;$!ba;s/\n/,/g'

Link '0' on board '0':,Link '1' on board '0':

sp7437sr032:/tmp# /usr/sbin/asterisk -r -x "khomp links show" | paste -d ':' 
<(grep -Eo 'Link [^-]*' | sed 's/ $//') <(grep -Eo '(Up|Down)[^\|]*' | sed 's/ 
$//') | sed ':a;N;$!ba;s/\n/,/g'

Link '0' on board '0':,Link '1' on board '0':

sp7437sr032:/tmp# /usr/sbin/asterisk -r -x "khomp links show" | paste -d ':' 
<(grep -Eo 'Link [^-]*' | sed 's/ $//') <(grep -Eo '(Up|Down)[^\|]*' | sed 's/ 
$//') | sed ':a;N;$!ba;s/\n/,/g'

Link '0' on board '0':Up (sync)                        ,Link '1' on board 
'0':Up (sync)


Este último é o que deveria sempre retornar. Porem, sem o espaço grande antes 
da vírgula. Assim:

Link '0' on board '0':Up (sync), Link '1' on board '0':Up (sync)

O que será que acontece?

Outra coisa: percebi que se eu direcionar a saída prá arquivo, o arquivo gerado 
fica com uns carecteres estranhos no início e final, que só percebo quando 
entro para edição com o vi. Veja:


^[[0;37;40m<K>  
------------------------------------------------------------------------
<K> |--------------------------- Khomp Links List ---------------------------|
<K> |------------------------------------------------------------------------|
<K> |------ Link '0' on board '0' ------||------ Link '1' on board '0' ------|
<K> | Up (sync)                         || Up (sync)                         |
<K>  ------------------------------------------------------------------------
^[[0m

O que poderia ser?
Será que dá prá acertar o comando?
Grato pela ajuda.

Diramos

--- Em address@hidden, Tiago Peczenyj <tiago.peczenyj@...> escreveu
>
> Uia! Parece bom heim?
> 
> Infelizmente to com preguiça de decifrar os <div></div>  do email mas... vc
> pode substituir o grep -Eo por uma instrução sed também, porém fica menos
> sucinto.
> 
> algo como
> 
> sed 's/.*\(expressao\).*/\1/'
> 
> abraços
> 
> 2012/11/1 Fredi Bieging <fredi.bieging@...>
> 
> > Assumindo que eu traduzi o formato da saída do Asterisk corretamente:
> >
> > paste -d ':' <(grep -Eo 'Link [^-]*' asterisk.txt | sed 's/ $//') <(grep
> > -Eo '(Up|Down)[^\|]*' asterisk.txt | sed 's/ $//') | sed ':a;N;$!ba;s/\n/,
> > /g'
> >
> > 2012/10/31 <diramos@...>
> >
> > > **
> > >
> > >
> > > <div>
> > > <div>Pessoal,</div>
> > > <div> </div>
> > > <div>Tenho uma saída de comando (Asterisk), que me retorna o seguinte no
> > > terminal:</div>
> > > <div> </div>
> > > <div>----------------------------------------------------------<br
> > > />|--------------------------- Khomp Links List
> > > ---------------------------|<br
> > > />|----------------------------------------------------------|<br
> > />|------
> > > Link '0' on board '0' ------||------ Link '1' on board '0'
> > ------------|<br
> > > />| Up (sync) || Up (sync) |</div>
> > > <div>|------ Link '0' on board '1' ------||------ Link '1' on board '1'
> > > ------------|<br />| Down (failed) || Up (sync) |<br
> > > />----------------------------------------------------------</div>
> > > <div>Segue anexo o retorno em formato .txt.</div>
> > > <div>Preciso filtrar esse retorno, de modo que fique assim:</div>
> > > <div>Link '0' on board '0': Up (sync), Link '1' on board '0':Up (sync),
> > > Link '0' on board '1':Down (failed),Link '1' on board '1':Up (sync)</div>
> > > <div> </div>
> > > <div>Ou seja, pegar somente as informações centrais e concatenar com
> > > vírgula.</div>
> > > <div>Detalhe complicador: o retorno é variável, pois dependendendo do
> > > equipamento, aumenta ou diminui o numero dos links.</div>
> > > <div> </div>
> > > <div>Já tentei com awk, sed, grep, mas nada que chegue ao que
> > quero.</div>
> > > <div> </div>
> > > <div> </div>
> > > <div>Poderiam ajudar?</div>
> > > <div> </div>
> > > <div>Grato.</div>
> > > </div>
> > > ----------
> > >
> > > <K> ----------------------------------------------------------
> > > <K> |--------------------------- Khomp Links List
> > > ---------------------------|
> > > <K> |----------------------------------------------------------|
> > > <K> |------ Link '0' on board '0' ------||------ Link '1' on board '0'
> > > ------|
> > > <K> | Up (sync) || Up (sync) |
> > > <K> ----------------------------------------------------------
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ------------------------------------
> >
> > ---------------------------------------------------------------------
> > 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
> > ---------------------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> 
> 
> -- 
> Tiago B. Peczenyj
> Linux User #405772
> 
> http://pacman.blog.br
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




reply via email to

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