使用sed删除文本文件中的强标记

时间:2012-10-03 12:32:44

标签: html sed text-files

我想删除文本文件中的STRONG标记。

我正在使用sed 's/< strong>/>/g'删除STRONG代码并且工作正常。

但是当我想要删除< /STRONG>标记时使用此sed 's/< /strong>//g' 它声明了以下错误sed: -e expression #1, char 13: Unknown option to s'`

我认为这与< / - 部分有关,但我不知道是什么。有人可以解释一下如何解决它吗?

<strong及其他人之间的空间仅用于此问题

2 个答案:

答案 0 :(得分:2)

您的问题是您使用/作为模式/替换分隔符,如果您想匹配/替换一个(/),则必须将其转义(例如:\/ )那样,但更多关于下面的内容。

sed不是(X | HT)ML处理的理想工具。如果标签没有跨越多行,它可能适合您:

sed 's_</\s*\?strong>_>_g' INPUTFILE

这会将<strong>< strong></strong>< /strong>替换为一个>(正如您在问题中所写的那样)。 sed可以使用多个模式/替换分隔符,而不仅仅是/(我上面使用_。)

答案 1 :(得分:0)

我用[{1}}替换了分隔符>,这就是诀窍。这里有解决这个问题的其他人:

|

Zsolt和Potong,谢谢!