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