1、断句,(同行有多个字段需要读取时特别管用)
原文本:
Cell 04 - Address: 14:E6:E4:E3:E8:68
Protocol:802.11b/g/n
ESSID:"Sunshine_Mercury"
Mode:Managed
Frequency:2.412 GHz (Channel 1)
Quality:68/100 Signal level:-63 dBm Noise level:-92 dBm
Encryption key : on
Bit Rates:54 Mb/s
IE: WPA Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
使用命令:cat /etc/iwlist | sed -e 's/Noise\|Signal/\n&/g' | grep "Signal level:" | sed 's/ //g'
“cat /etc/iwlist | sed -e 's/Noise\|Signal/\n&/g' ”将同一行(Quality:68/100 Signal level:-63 dBm Noise level:-92 dBm)进行断句,变成多行,这样即可读取相应的值。
获取扫描到的essid方法
首先扫描后倒入到文件
./iwlist wlan0 scan > a.txt
然后用shell 获取ssid
cat a.txt grep "ESSID:" | sed 's/ //g'
2、shell读取文件的指定行字符串
在得到数行输出时,需要得到指定行的字段,可以使用该指令。
sed -n Np 文件名
如sed -n 2p xxx 输出结果即为第二行的内容。