我有几千个带有href标签的文件如下:
<!-- Parent Div -->
<div id="accordion">
<!-- Child Div -->
<div>
<h3>REVIEWS</h3>
<div>
<!-- Button which is retrieving data from another page -->
<?php echo $this->getChildHtml('product_review') ?>
</div>
</div>
</div>
我正在尝试从所有文件中删除它。 我已经尝试了sed但它会抛出错误并失败。
href="../../../../file/old.html
建议请...
答案 0 :(得分:2)
你的表达并不完全正确。你需要说sed 's/pattern/replacement/g' file
。或者,如果/
位于模式中并使用其他分隔符,并且您不想将其转义,sed 's#pattern#replacement#g' file
(or any other)。
此外,\
的使用可能误导sed
,因为它会在其之后转义字符。如果你想要一个文字,你必须逃避它。
所以你需要说出类似的话:
sed 's#href="../../../../file/old.html"#c\\#g' file
# ^
# double \ so that you have a literal \
让我们测试一下:
$ cat a
hello <a href="../../../../file/old.html">bye</a>
hehehe
$ sed 's#href="../../../../file/old.html"#c\\#g' a
hello <a c\>bye</a>
hehehe