Za pomocą iw
Nie mam nm-toolzainstalowanego, więc używam iw.
To polecenie sortuje punkty dostępu według siły sygnału, najpierw najsilniejsze:
sudo iw dev wlan0 scan | egrep "signal:|SSID:" | sed -e "s/\tsignal: //" -e "s/\tSSID: //" | awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}' | sort
Każde polecenie wyjaśniło:
iw dev wlan0 scan: Wyszukaj punkty dostępowe dostępne za pośrednictwem interfejsu wlan0
egrep "signal:|SSID:": Uzyskaj linie o sile sygnału i identyfikatorach SSID z iwwyjścia. Dane wyjściowe wyglądają teraz tak:
sygnał: -77,00 dBm
SSID: nameOfAccessPoint1
sygnał: -71,00 dBm
SSID: nameOfAccessPoint2
sed -e "s/\tsignal: //" -e "s/\tSSID: //": Zmniejsz egrepwydajność do tego:
-77,00 dBm
nameOfAccessPoint1
-71,00 dBm
nameOfAccessPoint2
awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}': Ustaw siłę sygnału i identyfikator SSID na tej samej linii. Mówiąc dokładniej, gdy numer linii ( NR) jest parzysty, tj. Znajdujemy się na linii pokazującej punkt dostępu, separatorem rekordów wyjściowych ( ORS) powinien być podział linii. W przeciwnym razie znajdujemy się na linii zawierającej siłę sygnału, więc dołączamy do linii, tworząc ORSprostą spację.
Jeśli otrzymamy sortto wyjście, otrzymamy listę mocy sygnału i punktów dostępu, pokazując punkt dostępu z najsilniejszym sygnałem na górze:
-71.00 dBm nameOfAccessPoint2
-77.00 dBm nameOfAccessPoint1
Uwaga: niektóre punkty dostępu mogą mieć rozszerzone możliwości: Rozszerzone możliwości: * Lista SSID
Zatem grepping „SSID:” zamiast „SSID” pomaga uniknąć tego dodatkowego wyjścia, które w przeciwnym razie spowodowałoby niepowodzenie polecenia.