文字列から複数の値を取得する必要があります(出力: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」の前に表示されると仮定すると、「some number」の後に「/100」が続くことを確認してから、すべてを「/」に切り捨てることができます。
grep -o '[0-9][0-9]*\/100' your_file | cut -d/ -f1
結果は次のとおりです。
37
57
0