का उपयोग करते हुए 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:"
: सिग्नल की शक्ति और SSID के iw
आउटपुट से लाइनें प्राप्त करें । आउटपुट अब इस तरह दिखता है:
संकेत: -77.00 dBm
SSID: nameOfAccessPoint1
संकेत: -71.00 डीबीएम
SSID: nameOfAccessPoint2
sed -e "s/\tsignal: //" -e "s/\tSSID: //"
: इसके egrep
लिए आउटपुट कम करें:
-77.00 डीबीएम
nameOfAccessPoint1
-71.00 डीबीएम
nameOfAccessPoint2
awk '{ORS = (NR % 2 == 0)? "\n" : " "; print}'
: एक ही लाइन पर सिग्नल की ताकत और SSID लाओ। अधिक विशेष रूप से, जब रेखा संख्या ( NR
) सम होती है, अर्थात, हम पहुंच बिंदु को दर्शाने वाली रेखा पर होते हैं, आउटपुट रिकॉर्ड विभाजक ( ORS
) एक पंक्ति विराम होना चाहिए। अन्यथा, हम सिग्नल स्ट्रेंथ वाली लाइन पर हैं, इसलिए हम ORS
एक साधारण स्थान बनाकर लाइन से जुड़ते हैं।
यदि हम sort
यह आउटपुट करते हैं, तो हम सिग्नल की ताकत और पहुंच बिंदुओं की एक सूची के साथ समाप्त होते हैं, शीर्ष पर सबसे मजबूत सिग्नल के साथ पहुंच बिंदु दिखाते हैं:
-71.00 dBm nameOfAccessPoint2
-77.00 dBm nameOfAccessPoint1
खबरदार: कुछ पहुंच बिंदुओं में विस्तारित क्षमता हो सकती है: विस्तारित क्षमताएं: * एसएसआईडी सूची
इसलिए, "SSID:" के बजाय "SSID" को टालना इस अतिरिक्त ouput से बचने में मदद करता है जो कमांड को अन्यथा विफल कर देगा।