我需要从字符串中检索几个值(输出来自iwconfig WLAN0 | grep -i 质量)。
Link Quality=37/100 Signal level=57/100 Noise level=0/100
我需要37从链接质量=37/100,57从信号电平=57/100和0从噪音水平=0/100。它不必位于同一个命令中。我想做的是使用 mosquitto_pub 将这些值发布到 MQTT 服务器。
任何帮助,将不胜感激。
答案1
$ iwconfig wlan0 | awk -F'[=/]' 'tolower($0) ~ /quality/{print $2, $4, $6}' file
37 57 0
答案2
使用 GNU grep:
iwconfig wlan0 | grep -i quality | grep -oP '\d+(?=/)'
哪个输出
37
57
0
答案3
假设感兴趣的数字始终出现在“/100”之前,您可以 grep 查找“某个数字”,后跟“/100”,然后将所有内容剪切到“/”:
grep -o '[0-9][0-9]*\/100' your_file | cut -d/ -f1
这给出了输出:
37
57
0