AWK o SED, recupera valores de una cadena

AWK o SED, recupera valores de una cadena

Necesito recuperar un par de valores de una cadena (salida deiwconfig wlan0 | grep -i calidad).

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

Necesito el37deCalidad del enlace = 37/100,57deNivel de señal=57/100y0deNivel de ruido=0/100. No tiene por qué estar en el mismo comando. Lo que estoy tratando de hacer es publicar esos valores en el servidor MQTT usando mosquitto_pub.

Cualquier ayuda sería apreciada.

Respuesta1

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

Respuesta2

Con GNU grep:

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

que salidas

37
57
0

Respuesta3

Suponiendo que los números de interés siempre aparecen antes de '/100', puede buscar 'algún número' seguido de '/100' y luego cortar todo hasta '/':

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

Esto da la salida:

37
57
0

información relacionada