sed替换'with'

时间:2012-07-17 01:15:27

标签: bash sed

此:

echo "Hel'lo" | sed s/\'/\\\'/g

产量

Hel'lo

我想要的是:

Hel\'lo

我错过了什么?

4 个答案:

答案 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/'\''/\\&/'