1

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

sed 's/< strong>/>/g'用于删除STRONG标签,效果很好。

但是当我想< /STRONG>用这个删除标签时,sed 's/< /strong>//g' 它会显示以下错误sed: -e expression #1, char 13: Unknown option tos'`

我相信它与< /-part有关,但我不知道是什么。有人可以解释一下如何解决吗?

<和和其他人之间的空间strong是专门为这个问题而设计的

4

2 回答 2

2

您的问题是您将/其用作模式/替换分隔符,如果您想匹配/替换一个(/),则必须以这种方式对其进行转义(如\/:),但更多内容见下文。

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

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

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

于 2012-10-03T12:40:38.853 回答
0

我用分隔符替换了>|,就成功了。这是其他有此问题的解决方案:

sed 's|</strong>||g' prut6.xml > prut7.xml

Zsolt 和 Potong,谢谢!

于 2012-10-03T14:19:28.213 回答