当我执行命令时
sudo iwlist wlan0 scan | grep ESSID
Run Code Online (Sandbox Code Playgroud)
我得到结果:
ESSID:"DHS_3RD_FLOOR" ESSID:"MAXTA" ESSID:"MAXTA_5THWL" ESSID:"OPENSTACK" ESSID:"IOT" ESSID:"ved_opa" ESSID:"dlink" ESSID:"WifiFeazt"
Run Code Online (Sandbox Code Playgroud)
但我希望输出为:(没有 ESSID:")
DHS_3RD_FLOOR MAXTA MAXTA_5THWL OPENSTACK IOT ved_opa dlink WifiFeazt
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索,但我不知道该怎么做。
有什么建议吗?
使用 GNU sed:
sed -r 's/(ESSID:|")//g'
Run Code Online (Sandbox Code Playgroud)
或者
sed 's/\(ESSID:\|"\)//g'
Run Code Online (Sandbox Code Playgroud)
或者
perl -pe 's/(?:ESSID:|")//g'
Run Code Online (Sandbox Code Playgroud)
或在纯 bash 中:
str=$(sudo iwlist wlan0 scan | grep ESSID)
str=${str//ESSID:/}
echo ${str//\"/}
Run Code Online (Sandbox Code Playgroud)
输出:
DHS_3RD_FLOOR MAXTA MAXTA_5THWL OPENSTACK IOT ved_opa dlink WifiFeazt
Run Code Online (Sandbox Code Playgroud)