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

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

Re: [shell-script] Filtrar texto em arquivos


From: Jonathan Lessa
Subject: Re: [shell-script] Filtrar texto em arquivos
Date: Mon, 19 Aug 2013 14:06:15 -0300

Só um ajuste:

[root@srv1 ~]# grep -oE
"((([[:xdigit:]]{2}:){5}[[:xdigit:]]{2})|(strength|noise)=-?[0-9]{2}dBm?)"
arq | xargs -n3 | sed -r s/"(strength|noise)="//g
00:4F:62:22:44:C8 -65dBm 37dB
00:02:6F:6E:FA:2C -49dBm 53dB


Em 19 de agosto de 2013 09:04, Jonathan Lessa <address@hidden>escreveu:

> Meus 2cents de contribuição
>
> [root@srv1 ~]# grep -oE
> "((([[:xdigit:]]{2}:){5}[[:xdigit:]]{2})|(strength|noise)=-?[0-9]{2}dBm?)"
> arq | xargs -n3 | sed -r s/"(strength|noise)"=-?//g
> 00:4F:62:22:44:C8 65dBm 37dB
> 00:02:6F:6E:FA:2C 49dBm 53dB
>
>
>
> Em 19 de agosto de 2013 08:29, Emerson Araujo <address@hidden>escreveu:
>
>  **
>>
>>
>> E ai Julio, tudo tranquilo?
>>
>> Cara ai é que está meu calcanhar de aquiles... a tal da expressão regular,
>> ainda não consegui entender como esse negócio funciona, talvez por ainda
>> não ter tirado um tempo pra estudar isso, tentei dar uma lida esse fim de
>> semana mas ainda não consegui visualizar isso, talvez porque minha cabeça
>> está cheia de rotas, bgp, ips e etc heheheheh. A primeira parte do MAC
>> rodou muito bem, nos outros identifiquei o padrão, mas não consegui
>> enxergar como passar isso para expressão regular, naquele emaranhado de
>> informações (trata-se de um export de um roteador) as informações que
>> preciso aparecem da seguinte maneira:
>>
>> signal-strength-ch0=-65dBm aparecem outras vezes um padrão parecido mas
>> com
>> a diferença que é terminado com @ alguma coisa, tipo -45dBm@1Mbps,
>> detalhe
>> que esse numero sempre é negativo e sempre de 2 dígitos, se ajudar o "
>> signal-strength-ch0=-xxdBm" aparece uma única vez.
>>
>> signal-to-noise=53dB nesse formato aparece somente uma única vez, ou seja
>> é
>> sempre positivo o numero e terminado em dB e não em dBm como os outros.
>>
>> Sei que é pedir demais, mas se puder me dar mais uma mãozinha lhe agradeço
>> muito.
>>
>> Abraço
>>
>> Em 17 de agosto de 2013 17:04, Julio C. Neves <address@hidden
>> >escreveu:
>>
>>
>> > Fala Emerson,
>> > tá difícil te responder pq o cliente email bagunçou tudo e não sei como
>> > fazer uma expressão regular para extrair -65dBm 37dB -49dBm 53dB.
>> >
>> > O mac, por ser formado por 6 pares hexa fica fácil:
>> >
>> > grep -oE '([[:xdigit:]]{2}:){5}[[:xdigit:]]{2}' arq
>> >
>> > Se pudermos identificar a expr. reg. para filtrar os outros 2 campos,
>> > chamando-as de ER1 e ER2, a linha que vc deseja, seria algo como:
>> >
>> > paste -d ' ' <(grep -oE '([[:xdigit:]]{2}:){5}[[:xdigit:]]{2}' arq)
>> <(grep
>> > -oE 'ER1' arq) <(grep -oE 'ER2' arq)
>> >
>> > Abcs,
>> > Julio
>> > *@juliobash
>> > *
>> >
>> >
>> >
>> > Em 17 de agosto de 2013 13:12, Emerson Araujo <address@hidden
>> > >escreveu:
>> >
>> > > **
>> > >
>> > >
>> > > Boa tarde pessoal, trabalho com redes e as vezes preciso automatizar
>> > > algumas coisas em shell, e surgiu uma demanda agora que estou meio sem
>> > > saber como fazer da forma mais eficiente possível. Como pra mim missão
>> > dada
>> > > é missão cumprida (hehehehhehe) eu iria fazer meio que uma gambiarra,
>> > > passando o arquivo por 3 greps e gravando o resultado em arquivos
>> > > diferentes e depois juntá-los mas como tenho plena consciência que
>> isso
>> > > passa muito longe da eficiência gostaria de uma mão de vocês. O
>> arquivo
>> > tem
>> > > a seguinte estrutura:
>> > >
>> > > 0 ;;; Cliente A
>> > > interface=Interface_A mac-address=00:4F:62:22:44:C8 ap=no wds=no
>> > > bridge=no rx-rate="5.5Mbps" tx-rate="11.0Mbps" packets=17690,22720
>> > > bytes=4931764,7402404 frames=17690,22720 frame-bytes=4852744,7266084
>> > > hw-frames=19026,22720 hw-frame-bytes=5986223,7811364
>> > > tx-frames-timed-out=0
>> > > uptime=1d11h19m2s last-activity=3s320ms signal-strength=-65dBm@1Mbps
>> > > signal-to-noise=37dB signal-strength-ch0=-65dBm
>> > > strength-at-rates=-65dBm@1Mbps 1m33s860ms,-66dBm@2Mbps 27s790ms,-
>> > > 65dBm@5.5Mbps 21s700ms,-68dBm@11Mbps 31m56s590ms
>> > > tx-ccq=99% p-throughput=7089 distance=5 802.1x-port-enabled=yes
>> > > management-protection=no wmm-enabled=no
>> > >
>> > > 1 ;;; Cliente B
>> > > interface=Interface_A mac-address=00:02:6F:6E:FA:2C ap=no wds=no
>> > > bridge=no rx-rate="11.0Mbps" tx-rate="1.0Mbps" packets=21304,15806
>> > > bytes=9048958,1826629 frames=21304,15806 frame-bytes=8924218,1731793
>> > > hw-frames=28670,15806 hw-frame-bytes=12892053,2111137
>> > > tx-frames-timed-out=0 uptime=5h15m14s last-activity=0ms
>> > > signal-strength=-49dBm@11Mbps signal-to-noise=53dB
>> > > signal-strength-ch0=-49dBm
>> > > strength-at-rates=-45dBm@1Mbps 5h11m59s260ms,-44dBm@2Mbps5h9m15s940ms,-
>> > > 43dBm@5.5Mbps 4h54m25s890ms,-49dBm@11Mbps 0ms
>> > > tx-ccq=12% p-throughput=406 distance=1 last-ip=177.73.55.175
>> > > ap-tx-limit=1024000 client-tx-limit=1024000 802.1x-port-enabled=yes
>> > > management-protection=no wmm-enabled=no
>> > >
>> > > Preciso "extrair" deste arquivo as informações que eu preciso, gerando
>> > > uma saída do tipo:
>> > >
>> > > 00:4F:62:22:44:C8 -65dBm 37dB
>> > > 00:02:6F:6E:FA:2C -49dBm 53dB
>> > >
>> > > O resto tá tranquilo, pois no script vou conectar em um BD Mysql e
>> > inserir
>> > > essas informações lá, o que ta pegando é só filtrar isso ai. Sem
>> querer
>> > > abusar mas já abusando (se alguém ajudar) gostaria se possível de
>> > explicar
>> > > o que o código faz pra depois se eu precisar extrair algum
>> > > outro parâmetro eu darei conta de fazer, pra não ficar perturbando.
>> > >
>> > > Abraço
>> > >
>> > > --
>> > > Emerson Araujo
>> > >
>> > > [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
>> >
>> >
>> >
>>
>> --
>> Emerson Araujo
>>
>> [As partes desta mensagem que não continham texto foram removidas]
>>
>>  
>>
>
>
>
> --
> Att.:
> Jonathan Lessa
>



-- 
Att.:
Jonathan Lessa


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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