AWK ou SED, recupere valores da string

AWK ou SED, recupere valores da string

Preciso recuperar alguns valores de uma string (saída deiwconfig wlan0 | grep -i qualidade).

Link Quality=37/100  Signal level=57/100  Noise level=0/100

Eu preciso do37deQualidade do link=37/100,57deNível de sinal=57/100e0deNível de ruído=0/100. Não precisa estar no mesmo comando. O que estou tentando fazer é postar esses valores no servidor MQTT usando mosquitto_pub.

Qualquer ajuda seria apreciada.

Responder1

$ iwconfig wlan0 | awk -F'[=/]' 'tolower($0) ~ /quality/{print $2, $4, $6}' file
37 57 0

Responder2

Com grep GNU:

iwconfig wlan0 | grep -i quality | grep -oP '\d+(?=/)'

quais saídas

37
57
0

Responder3

Supondo que os números de interesse sempre venham antes de '/100', você poderia digitar 'algum número' seguido de '/100' e depois cortar tudo até '/':

grep -o '[0-9][0-9]*\/100' your_file | cut -d/ -f1

Isso fornece a saída:

37
57
0

informação relacionada