を使用して iw
私はnm-toolインストールしていないのでiw。
次のコマンドは、信号強度でアクセスポイントを並べ替えます。
sudo iw dev wlan0 scan | egrep "signal:|SSID:" | sed -e "s/\tsignal: //" -e "s/\tSSID: //" | awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}' | sort
各コマンドの説明:
iw dev wlan0 scan:インターフェイス経由で到達可能なアクセスポイントをスキャンします wlan0
egrep "signal:|SSID:":iwの出力から信号強度とSSIDを含む行を取得します。出力は次のようになります。
信号:-77.00 dBm
SSID:nameOfAccessPoint1
信号:-71.00 dBm
SSID:nameOfAccessPoint2
sed -e "s/\tsignal: //" -e "s/\tSSID: //":egrepの出力をこれに減らします:
-77.00 dBm
nameOfAccessPoint1
-71.00 dBm
nameOfAccessPoint2
awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}':信号強度とSSIDを同じ回線に配置します。より具体的には、行番号(NR)が偶数の場合、つまりアクセスポイントを示す行にいる場合、出力レコードのセパレータ(ORS)は改行でなければなりません。それ以外の場合は、信号強度を含むライン上にあるためORS、単純なスペースを作成してラインに参加します。
sortこの出力の場合、信号強度とアクセスポイントのリストが表示され、最も強い信号が上にあるアクセスポイントが表示されます。
-71.00 dBm nameOfAccessPoint2
-77.00 dBm nameOfAccessPoint1
注意:一部のアクセスポイントには拡張機能があります。拡張機能:* SSIDリスト
そのため、「SSID」の代わりに「SSID:」をgrepすることで、この余分な出力を回避して、コマンドが失敗するようにすることができます。