Discussion:
[shell-script] AWK - Mudança de linha
andrelucio.fc@yahoo.com [shell-script]
2018-10-26 13:46:25 UTC
Permalink
Opa, Pessoal.


Preciso subir um determinado dados, que está uma linha abaixo, para linha de cima. Isso tudo com o awk.


Contexto:


Comando:


iwinfo wlan0 assoclist | awk '/SNR|TX/ {print $1,$2}'


Saída:


88:53:2E:82:20:8A -42
TX: 130.0
C0:25:E9:29:18:2F -55
TX: 115.6


Preciso que fique dessa forma (Eliminando a string TX):


88:53:2E:82:20:8A -42 130.0
C0:25:E9:29:18:2F -55 115.6


Obrigado.
Vinicius Costa Carvalho vinicius@carvalho.inf.br [shell-script]
2018-10-26 14:09:45 UTC
Permalink
Opa!

Tente assim:
iwinfo wlan0 assoclist | awk '/SNR|TX/ {print $1,$2}' | sed 's/\nTX://g'

[]s,
Post by ***@yahoo.com [shell-script]
Opa, Pessoal.
Preciso subir um determinado dados, que está uma linha abaixo, para linha de cima. Isso tudo com o awk.
iwinfo wlan0 assoclist | awk '/SNR|TX/ {print $1,$2}'
88:53:2E:82:20:8A -42
TX: 130.0
C0:25:E9:29:18:2F -55
TX: 115.6
88:53:2E:82:20:8A -42 130.0
C0:25:E9:29:18:2F -55 115.6
Obrigado.
--
Vinicius Costa Carvalho

"Se enxerguei mais longe, foi porque me apoiei sobre os ombros de gigantes."
Isaac Newton
빠는 Leonardo Goretti leonardogoretti@gmail.com [shell-script]
2018-10-26 14:31:31 UTC
Permalink
| awk 'BEGIN{FS="\n"; RS=""} {print $1,$2}'

Em sex, 26 de out de 2018 às 11:27, Vinicius Costa Carvalho
Post by Vinicius Costa Carvalho ***@carvalho.inf.br [shell-script]
Opa!
iwinfo wlan0 assoclist | awk '/SNR|TX/ {print $1,$2}' | sed 's/\nTX://g'
[]s,
Post by ***@yahoo.com [shell-script]
Opa, Pessoal.
Preciso subir um determinado dados, que está uma linha abaixo, para
linha de cima. Isso tudo com o awk.
Post by ***@yahoo.com [shell-script]
iwinfo wlan0 assoclist | awk '/SNR|TX/ {print $1,$2}'
88:53:2E:82:20:8A -42
TX: 130.0
C0:25:E9:29:18:2F -55
TX: 115.6
88:53:2E:82:20:8A -42 130.0
C0:25:E9:29:18:2F -55 115.6
Obrigado.
--
Vinicius Costa Carvalho
"Se enxerguei mais longe, foi porque me apoiei sobre os ombros de gigantes."
Isaac Newton
--
Leonardo Goretti
Gerência e Operações
Analista de infraestrutura - GNU/LINUX
Instrutor GNU/LINUX
Itil V3
Celular: +55 (61) 97402-3166

Gtalk: ***@gmail.com
U2Ugdm9jw6ogZGVjcnlwdG91IMOpIHBvciBxdWUgc2FiZSBkYXMgY29pc2FzCg==
----------------------------------------------
phfbettega@yahoo.com.br [shell-script]
2018-10-26 14:49:40 UTC
Permalink
Olá andrelucio, pode ser com getline.

awk '/(..:){5}../{a=$0;getline;sub(/TX:/,"");print a $0}' <<<'88:53:2E:82:20:8A -42
TX: 130.0
C0:25:E9:29:18:2F -55
TX: 115.6'
88:53:2E:82:20:8A -42 130.0
C0:25:E9:29:18:2F -55 115.6

Abraços Paulo
Post by ***@yahoo.com [shell-script]
Opa, Pessoal.
Preciso subir um determinado dados, que está uma linha abaixo, para linha de cima. Isso tudo com o awk.
iwinfo wlan0 assoclist | awk '/SNR|TX/ {print $1,$2}'
88:53:2E:82:20:8A -42
TX: 130.0
C0:25:E9:29:18:2F -55
TX: 115.6
88:53:2E:82:20:8A -42 130.0
C0:25:E9:29:18:2F -55 115.6
Obrigado.
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
andrelucio.fc@yahoo.com [shell-script]
2018-10-26 16:18:01 UTC
Permalink
Opa, Paulo.

Poderia me explicar como funciona o getline.


Obrigado.
andrelucio.fc@yahoo.com [shell-script]
2018-10-26 16:18:20 UTC
Permalink
Obrigado a todos pela ajuda.
phfbettega@yahoo.com.br [shell-script]
2018-10-26 16:49:15 UTC
Permalink
Lê o próximo registro e separa em campos. É útil se vc já acabou de
processar o registro atual mas quer fazer algo especial processando o
próximo registro agora mesmo. (no meu inglês tabajara :)
https://www.gnu.org/software/gawk/manual/gawk.html#Plain-Getline
Abraços Paulo
Post by ***@yahoo.com [shell-script]
Opa, Paulo.
Poderia me explicar como funciona o getline.
Obrigado.
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
Responder através da web
itamarnet@yahoo.com.br [shell-script]
2018-10-26 15:15:34 UTC
Permalink
Que tal:

iwinfo wlan0 assoclist | awk '/SNR/ {printf $1" " $2 " "};/TX/ {print $2}'



[]'s
Itamar
andrelucio.fc@yahoo.com [shell-script]
2018-10-26 15:56:57 UTC
Permalink
Opa, Pessoal.

Acho que errei em não colocar a saída toda, somente do Itamar funcionou.


Saída completa:


C0:25:E9:29:18:2F -51 dBm / -91 dBm (SNR 40) 1350 ms ago
RX: 1.0 MBit/s, MCS 0, 20MHz 36731 Pkts.
TX: 115.6 MBit/s, MCS 13, 20MHz, short GI 22754 Pkts.


88:53:2E:82:20:8A -46 dBm / -91 dBm (SNR 45) 340 ms ago
RX: 6.0 MBit/s, MCS 0, 20MHz 10105 Pkts.
TX: 39.0 MBit/s, MCS 4, 20MHz 1816 Pkts.


F0:D7:AA:6B:8C:91 -35 dBm / -91 dBm (SNR 56) 4190 ms ago
RX: 1.0 MBit/s, MCS 0, 20MHz 6603 Pkts.
TX: 58.5 MBit/s, MCS 6, 20MHz 4673 Pkts.
'T.Collons' t.collons@gmail.com [shell-script]
2018-10-27 10:52:20 UTC
Permalink
Hola

Asumiendo que todos los ficheros de entrada son iguales prueba esto,
todo con bash


*time cat test |cut -d\  -f 1-3 |grep -v RX| tr -d "\n\tTXMBit/s,"|fold
-s33*

*C0:25:E9:29:18:2F  -51: 115.6
88:53:2E:82:20:8A  -46: 39.0
F0:D7:AA:6:8C:91  -35: 58.5
real    0m0.018s
user    0m0.005s
sys    0m0.014s
**
*

*time cat test | awk '/SNR/ {printf $1" " $2 " "};/TX/ {print $2}'*

*0:25:E9:29:18:2F -51 115.6
88:53:2E:82:20:8A -46 39.0
F0:D7:AA:6B:8C:91 -35 58.5
real    0m0.063s
user    0m0.001s
sys    0m0.013s




*
Post by ***@yahoo.com [shell-script]
Opa, Pessoal.
Acho que errei em não colocar a saída toda, somente do Itamar funcionou.
C0:25:E9:29:18:2F  -51 dBm / -91 dBm (SNR 40)  1350 ms ago
RX: 1.0 MBit/s, MCS 0, 20MHz                   36731 Pkts.
TX: 115.6 MBit/s, MCS 13, 20MHz, short GI      22754 Pkts.
88:53:2E:82:20:8A  -46 dBm / -91 dBm (SNR 45)  340 ms ago
RX: 6.0 MBit/s, MCS 0, 20MHz                   10105 Pkts.
TX: 39.0 MBit/s, MCS 4, 20MHz                   1816 Pkts.
F0:D7:AA:6B:8C:91  -35 dBm / -91 dBm (SNR 56)  4190 ms ago
RX: 1.0 MBit/s, MCS 0, 20MHz                    6603 Pkts.
TX: 58.5 MBit/s, MCS 6, 20MHz                   4673 Pkts.
--
Pere

***@gmail.com <mailto:***@gmail.com>



<https://www.google.com/>

------------------------------------

AVIS LEGAL

Nota de confidencialitat: Aquest missatge podria contenir missatges
d'empresa i altre informació confidencial tutelada per les lleis de
Europea i altres estats, Si VostÚ el rep per error o sense ser una de
les persones esmenades a la capçalera, haurà de destruir-lo sense
copiar-lo ni revelar-l'ho o qualsevol altre acció relacionada amb el
contingut del missatge i notificar-ho per correu electrònic a l'emissor
del missatge.

Les persones o entitats que incompleixin els deures de confidencialitat
podran ésser perseguides davant dels Tribunals de Justícia sota l'empar
de la legislació civil, penal i administrativa nacional i internacional.

Gracies per la seva cooperació.

------------------------------------

LEGAL NOTICE

Confidentiality notice: This mail may include business and other
confidential information protected under the laws of and other
territories. if you are not one of the intended recipients of the
message, you are legally obliged to delete the message content.
Furthermore, you are kindly requested to report immediately the incident
to the sender.

Breach of confidentiality duties is a serious criminal offence in and
other territories. Offenders shall be legally prosecuted worldwide.

Thank you for your cooperation.
Loading...