我想删除文本文件中的STRONG
标记。
我正在使用sed 's/< strong>/>/g'
删除STRONG
代码并且工作正常。
但是当我想要删除< /STRONG>
标记时使用此sed 's/< /strong>//g'
它声明了以下错误sed: -e expression #1, char 13: Unknown option to
s'`
我认为这与< /
- 部分有关,但我不知道是什么。有人可以解释一下如何解决它吗?
<
和strong
及其他人之间的空间仅用于此问题
答案 0 :(得分:2)
您的问题是您使用/
作为模式/替换分隔符,如果您想匹配/替换一个(/
),则必须将其转义(例如:\/
)那样,但更多关于下面的内容。
sed不是(X | HT)ML处理的理想工具。如果标签没有跨越多行,它可能适合您:
sed 's_</\s*\?strong>_>_g' INPUTFILE
这会将<strong>
,< strong>
,</strong>
,< /strong>
替换为一个>
(正如您在问题中所写的那样)。 sed
可以使用多个模式/替换分隔符,而不仅仅是/
(我上面使用_
。)
答案 1 :(得分:0)
我用[{1}}替换了分隔符>
,这就是诀窍。这里有解决这个问题的其他人:
|
Zsolt和Potong,谢谢!