文字列からいくつかの値を取得する必要があります(出力から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' の前に来ると仮定すると、'/100' が続く 'some number' を grep し、すべてを '/' まで切り取ることができます。
grep -o '[0-9][0-9]*\/100' your_file | cut -d/ -f1
出力は次のようになります。
37
57
0