重复替换字符串

gan*_*ars 1 bash

当我执行命令时

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)

我用谷歌搜索,但我不知道该怎么做。

有什么建议吗?

Gil*_*not 7

使用 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)