sed - 匹配escape char,反斜杠+双引号

时间:2010-11-09 11:40:52

标签: sed escaping

我正试图找到替换以下

<a href=\"test\">

<a href="test">

使用sed。

我了解\"都需要转义,所以我会执行以下操作:

sed -i "s|a href=\\\"test\\\"|a href=\"test\"|g"

但这似乎不起作用。知道我做错了吗?

1 个答案:

答案 0 :(得分:4)

只使用单引号而不是双打。

$ echo '<a href=\"test\">' | sed "s|a href=\\\"test\\\"|a href=\"test\"|g"
<a href=\"test\">

$ echo '<a href=\"test\">' | sed 's|a href=\\\"test\\\"|a href=\"test\"|g'
<a href="test">

Ori,如果你不能使用单引号,只需添加更多转义: - )

$ echo '<a href=\"test\">' | sed "s|a href=\\\\\"test\\\\\"|a href=\"test\"|g"
<a href="test">