从文件中删除href链接文本

时间:2016-06-07 12:17:07

标签: sed

我有几千个带有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

建议请...

1 个答案:

答案 0 :(得分:2)

你的表达并不完全正确。你需要说sed 's/pattern/replacement/g' file。或者,如果/位于模式中并使用其他分隔符,并且您不想将其转义,sed 's#pattern#replacement#g' fileor 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