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: Mon, 05 Nov 2012 01:34:16 -0000
User-agent: eGroups-EW/0.82

Segue o link com o arquivo asterisk.txt
http://pastebin.com/s2NMNJcP

--- Em address@hidden, "nerobarrabas" <diramos@...> escreveu
>
> Repetindo a saída do comando, sem formatação HTML:
> 
> Link '0' on board '0':Up (sync)                        ,Link '1' on board 
> '0':Up (sync)
> 
> Teremos que tirar esse "espação".
> 
> Diramos
> 
> --- Em address@hidden, "nerobarrabas" <diramos@> escreveu
> >
> > 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]