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: Julio C. Neves
Subject: Re: [shell-script] Filtrar texto em arquivos
Date: Sat, 17 Aug 2013 17:04:54 -0300

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@2Mbps 5h9m15s940ms,-
> 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]



reply via email to

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