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

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

Re: [shell-script] AWK - Formatação de dados


From: Andre Lopes da Silva
Subject: Re: [shell-script] AWK - Formatação de dados
Date: Thu, 7 Dec 2017 13:00:33 -0200

Não foi o Anexo? Ou será que eu não recebo pela lista? estou anexando
de novo, qq coisa avisem que disponibilizo de outra forma

Em Thu, 7 Dec 2017 12:07:18 -0200
"Andre Lopes da Silva address@hidden [shell-script]"
<address@hidden> escreveu:

> Huuum, eu acho que essa solução do Paulo resolve o fato de não mostrar
> se não for MAC Address, mas ele acabará omitindo a informação das
> linhas que não seriam MAC Address, o que pode ser informação
> importante.
> 
> Eu percebi que suas linhas acabam quebrando por conta de terem
> quantidades de espaços diferentes... pra ficar mais fácil de
> visualizar isso, estou anexando um screenshot (Awkdesalinhado)
> circulando pra você onde ocorre o problema... Note que pro seu caso,
> Na primeira linha, a informação que você quer é a da casa "20" (já que
> esse a informação " (oui Unknown) " aparece duas vezes e isso te
> quebra a formatação acrescentando 4 campos antes da informação que
> você precisa (por isso na primeira linha é 20).
> 
> Eu não sei te dizer como você vai fazer isso com AWK pois minha
> experiência não me permite ainda... O que eu faria no meu pouco
> conhecimento seria tentar tratar essa linha antes do awk para que os
> "SA:ma:ca:dd:re:ss:es" ficassem alinhados de alguma forma primeiro. Eu
> chutaria que SED seria seu amigo nessa hora, pra "sumir" com tudo o
> que fica entre "BSSID:" e "SA:" (Trocando todo esse miolo por "SA:"),
> o que te resultaria com o SA:macaddress" na casa "13" pro AWK.
> 
> Me corrijam pq posso estar errado, mas algo tipo "sed
> 's/BSSID.*SA/SA/'" resolveria?
> 
> Se for isso, fazer um
> 
> "sed 's/BSSID.*SA/SA/' unknown.txt | awk 'gsub("SA:|dB","") {print
> $1","$14","$10","$2}'"
> 
> OBS: Note que não é mais "1, 16, 10, 2", virou "1, 14, 10, 2"
> 
> Do mesmo modo que essa linha ficou desalinhada, é bom você ver se não
> tem outros casos de "desalinhamento" no teu arquivo antes de brincar
> de achar linhas e colunas com awk, pra não te dar xabú, heheheh
> 
> Abraços
> 
> 
> 
> 
> Em Wed, 6 Dec 2017 19:52:09 -0200
> "address@hidden [shell-script]"
> <address@hidden> escreveu:
> 
> > Olá andrelucio, teste o campo do mac, se é realmente um mac.
> > 
> > awk 'gsub("SA:|dB","") {if ( $16 ~ /^([a-f0-9]{2}:){5}[a-f0-9]{2}$/
> > ) print $1","$16","$10","$2}' unknow.txt
> > 
> > Abraços Paulo
> > 
> > On 06-12-2017 18:46, address@hidden [shell-script] wrote:  
> > > Opa, pessoal.
> > > 
> > > 
> > > Estou com a seguinte demanda. Eu tenho um arquivo que me envia a
> > > saída abaixo:
> > > 
> > > 
> > > city-country-1 17:38:29.291991 26205766340us tsft 1.0 Mb/s 2412
> > > MHz 11b -84dB SIGNAL [bit 29] BSSID:4c:5e:0c:b9:69:59 (oui
> > > Unknown) DA:4c:5e:0c:b9:69:59 (oui Unknown) SA:80:58:f8:81:29:89
> > > (oui Unknown) Packet Request (Network) [1.0 2.0 5.5 11.0 Mbit]
> > > 
> > > city-country-2 17:38:33.183062 26209656603us tsft 1.0 Mb/s 2412
> > > MHz 11b -79dB SIGNAL [bit 29] BSSID:Broadcast DA:Broadcast
> > > SA:68:c4:4d:60:8d:48 (oui Unknown) Packet Request () [1.0 2.0 5.5
> > > 11.0 Mbit]
> > > 
> > > city-country-3 17:00.22.183062 26209656603us tsft 1.0 Mb/s 2412
> > > MHz 11b -79dB SIGNAL [bit 29] BSSID:Broadcast DA:Broadcast
> > > SA:67:c4:d5:60:8f:38 (oui Unknown) Packet Request () [1.0 2.0 5.5
> > > 11.0 Mbit]
> > > 
> > > 
> > > E extraio os dados abaixo com o seguinte comando:
> > > 
> > > 
> > > awk 'gsub("SA:|dB","") {print $1","$16","$10","$2}' unknow.txt
> > > 
> > > 
> > > city-country-1,Unknown),-84,17:38:29.291991
> > > 
> > > city-country-2,68:c4:4d:60:8d:48,-79,17:38:33.183062
> > > 
> > > city-country-3,67:c4:d5:60:8f:38,-79,17:00.22.183062
> > > 
> > > 
> > > O problema é que no campo 16, eu preciso que somente venha o MAC,
> > > e que não aparece  um resultado diferente, como o Unknown) na
> > > saída acima. Preciso que saia dessa forma:
> > > 
> > > 
> > > city-country-2,68:c4:4d:60:8d:48,-79,17:38:33.183062
> > > 
> > > city-country-3,67:c4:d5:60:8f:38,-79,17:00.22.183062
> > > 
> > > 
> > > Ps: Preciso que seja feito através do awk.
> > > 
> > > 
> > > 
> > > Agradeço a ajuda.
> > > 
> > > 
> > > 
> > > --------------------------------------------------------------------------------------------------------------
> > > Enviado por: address@hidden
> > > --------------------------------------------------------------------------------------------------------------
> > > Responder através da web     
> 
> 


-- 
Andre Lopes da Silva
Técnico em Informática
SI - IME-USP
3091-9891
Sala 131-A

Enviado utilizando Claws Mail
OpenSUSE LEAP 42.3


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



reply via email to

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