On Linux, iw and iwlist provide a wealth of information when they scan for available WiFi networks. I would say it's too much information. 2,308 lines is a lot for a human to parse. Granted, I'm in a busy apartment building, but all the more reason the verbose output is actually a hindrance for me.
$ sudo iw dev wlp8s0 scan | wc -l
2308
I would prefer a far simpler output. A relatively brief table showing a concise overview of nearby access points. This output would only show the sorts of fields (SSID, signal strength, encryption type) one might expect from a GUI WiFi utility, but in the terminal.
It seems like similar users have gone before me on this same quest, and that there are varying levels of effort put into writing complicated scripts and programs to parse simpler WiFi scanning output from Linux wireless tools like iw. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
Almost every answer I've found to this problem suggests parsing the output from tools like iw and iwlist using grep, sed, and awk in various combinations, but that doesn't seem like a great answer. Especially since iw clearly states that its output should not be scraped.
Do NOT screenscrape this tool, we don't consider its output stable.
I'd say nmcli comes pretty close to what I want, except that I think it's heavy handed to install NetworkManager just for the convenience it provides via nmcli. Also, iw and iwlist seem more ubiquitous than nmcli in my Googling.
The WiFi scanning output of ifconfig on FreeBSD looks perfect. I'm not sure if that implementation is common across all flavors of BSD, but it's the exact sort of tool I'd hope for in Linux.
Is there a similar stock/standard tool for almost every version of Linux that scan scan for WiFi networks and list a simple output like above?
