1
我试图找到替换以下sed的 - 匹配逃逸字符,反斜线+双引号
<a href=\"test\">
<a href="test">
使用SED用。
我明白,无论是\
和"
需要进行转义,所以我做到以下几点:
sed -i "s|a href=\\\"test\\\"|a href=\"test\"|g"
但这似乎并没有工作。任何想法我做错了什么?
我试图找到替换以下sed的 - 匹配逃逸字符,反斜线+双引号
<a href=\"test\">
<a href="test">
使用SED用。
我明白,无论是\
和"
需要进行转义,所以我做到以下几点:
sed -i "s|a href=\\\"test\\\"|a href=\"test\"|g"
但这似乎并没有工作。任何想法我做错了什么?
只需使用单引号而不是双打。
$ 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">
大利,如果你不能使用单引号,只需添加甚至更逃逸:-)
$ echo '<a href=\"test\">' | sed "s|a href=\\\\\"test\\\\\"|a href=\"test\"|g" <a href="test">
我已经接受了这个答案,因为它的作品,即使我不能用它作为我正在使用的真正的字符串还包括单引号! – EoghanM 2010-11-09 12:26:20
@EoghanM,我发布了另一个非单引号解决方案 - 这只是添加更多转义的问题,因为shell本身会吸引一个级别。 – paxdiablo 2010-11-09 12:31:35
谢谢,做到了! 5个反斜杠!我其实尝试了4,但认为我变得荒谬! – EoghanM 2010-11-09 12:40:51