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