情境:
将文字档里的wireless ssid取出并sed到另外一个文字档。
问题:
遇上包含/的ssid,sed指令会出事。
stackoverflow找到的解法:
放变量的时候用 ${ssid//\//\\/}在/前面加上escape。
问题1:
match pattern是 /\/,看不懂第一个/的用途,实验过用\/
当pattern输出结果也是一样,这是为什么呢?
实验方式
ssid="TEST/SSID"
echo ${ssid//\//\\/}
echo ${ssid/\//\\/}
输出都是TEST\/SSID
问题2:
取代的字串是\\/,就我的认知应该两个都要加escape所以应该是\\\/
实验结果也是两个输出都一样,why???
echo ${ssid//\//\\/}
echo ${ssid//\//\\\/}