如何用sed逃避一个双引号

时间:2014-02-19 16:43:42

标签: regex shell replace sed escaping

我有一个网页,我尝试使用sed进行编辑。 我需要找到所有href="/foa个链接并让他们说出来 而是href="www.url/foa

我一直很难让它上班。 对于普通语法,我会使用sed -i 's/string/string2/g' <filename>。 使用正斜杠,我可以逃避那些有效的\/。 但我似乎无法弄清楚如何在搜索和替换流中获得单个双引号。

我需要它的原因是唯一地识别我想要替换的部分。 /foa存在于众多部分中,我需要更改的唯一部分是href="/foa

2 个答案:

答案 0 :(得分:2)

不建议使用sed进行HTML操作,但可以使用;

sed -i 's~href="/foa~href="www.url/foa~g' file.html

答案 1 :(得分:1)

使用sed,这将是灵活的,而不仅仅在foa上修复,href="之后的所有链接都将被添加

sed -r 's/(href=")([^"]*)/\1www.url\2/' file