Utilizando iw
No tengo nm-toolinstalado, así que lo uso iw.
Este comando ordena los puntos de acceso según la intensidad de la señal, la más fuerte primero:
sudo iw dev wlan0 scan | egrep "signal:|SSID:" | sed -e "s/\tsignal: //" -e "s/\tSSID: //" | awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}' | sort
Cada comando explicaba:
iw dev wlan0 scan: Escanee los puntos de acceso accesibles a través de la interfaz wlan0
egrep "signal:|SSID:": Obtenga las líneas con intensidad de señal y los SSID de iwla salida de. La salida se ve así ahora:
señal: -77.00 dBm
SSID: nameOfAccessPoint1
señal: -71.00 dBm
SSID: nameOfAccessPoint2
sed -e "s/\tsignal: //" -e "s/\tSSID: //": Reduzca egrepla producción a esto:
-77.00 dBm
nameOfAccessPoint1
-71.00 dBm
nameOfAccessPoint2
awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}': Traiga la intensidad de la señal y el SSID en la misma línea. Más específicamente, cuando el número de línea ( NR) es par, es decir, estamos en una línea que muestra un punto de acceso, el separador de registro de salida ( ORS) debería ser un salto de línea. De lo contrario, estamos en la línea que contiene la intensidad de la señal, por lo que nos unimos a la línea haciendo ORSun espacio simple.
Si tenemos sortesta salida, terminamos con una lista de intensidades de señal y puntos de acceso, mostrando el punto de acceso con la señal más fuerte en la parte superior:
-71.00 dBm nameOfAccessPoint2
-77.00 dBm nameOfAccessPoint1
Cuidado: algunos puntos de acceso pueden tener una capacidad extendida: Capacidades extendidas: * Lista SSID
Por lo tanto, agrupar "SSID:" en lugar de "SSID" ayuda a evitar esta salida adicional que haría que el comando fallara de lo contrario.