从文件中删除 href 链接文本



>我有几千个带有href标签的文件,如下所示:

href="../../../../file/old.html

我正在尝试从所有文件中删除它。我尝试过 sed,但它抛出错误并失败。

sed -i '/href="../../../../file/old.html"/c' *.html 
sed: -e expression #1, char 11: unknown command: `.'

建议请...

你的表达并不完全正确。你需要说sed 's/pattern/replacement/g' file.或者,如果模式中/并且您不想转义它,则使用另一个分隔符,sed 's#pattern#replacement#g' file(或任何其他)。

此外,的使用可能会误导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

最新更新