此:
echo "Hel'lo" | sed s/\'/\\\'/g
产量
Hel'lo
我想要的是:
Hel\'lo
我错过了什么?
答案 0 :(得分:11)
echo "Hel'lo" | sed "s/'/\\\'/g"
Hel\'lo
另外
echo "Hel'lo" | sed s/\'/\\\\\'/g
答案 1 :(得分:1)
或者没有引用sed参数:
echo "Hel'lo" | sed s/\'/\\\\\'/g
答案 2 :(得分:1)
您也可以使用所有单引号:
echo "Hel'lo" | sed 's/'\''/\\'\''/g'
既然你的问题也被标记为 bash ,我不妨指出你甚至不需要sed:
[ghoti@pc ~]$ foo="Hel'lo"
[ghoti@pc ~]$ echo "${foo/\'/\'}"
Hel\'lo
答案 3 :(得分:0)
这可能对您有用:
echo "Hel'lo" | sed 's/'\''/\\&/'