2

このコマンドを使用して、アクセス ポイントに接続されたクライアントの信号平均電力を取得しています。

iw dev wlan0 station dump | grep -E 'Station|signal avg': 

次の情報を入手しました。

ステーション"my_MAC_Address" (wlan0 上)

信号平均: -46 dBm

太字は、grep と一致するものです。一致した単語、つまり MAC アドレスと番号 -46 のみを取得したいだけです。私は awk で遊んでいますが、成功していません。あなたが私を助けてくれることを願っています!

4

3 に答える 3

8
iw dev wlan0 station dump | grep -Po '(?<=Station\s|signal avg:\s)[^\s]*'

この正規表現は、いわゆるlookbehind構文を使用します。ここでそれについて読むことができます

出力例:

00:11:22:33:44:55
-40

アップデート:

この回答に投票していただきありがとうございます。今、私は別の解決策を知っています:

iw dev wlan0 station dump | grep -Po '(Station\s|signal avg:\s)\K[^\s]*'

これは、実際には上記のソリューションの省略形です。\K基本的には「発生する前にすべてを忘れる」ことを意味します。

于 2013-09-10T00:19:16.477 に答える