3

如何在 sed 中转义 '<' 和 '>' 字符。

我有一些 xml 文件需要替换标签之间的一些文本。如何转义 '>' 和 '<' 字符。

> 和 < 的问题在于它在 shell 中具有特殊含义,可以将输出重定向到文件。所以反斜杠不起作用。

4

3 回答 3

5

行。自己发现的。使用引号。

$ sed -i "s/>foo</>bar</g" file
于 2008-09-30T13:45:09.213 回答
0

用反斜杠转义它们

于 2008-09-30T13:43:53.117 回答
0

只需在它们前面加上反斜杠或用单引号或双引号将它们括起来。再想一想,我认为你的问题需要更清楚。您是否尝试使用 sed 处理 XML 文件并且想要获取标签之间的内容?然后你想要:

sed -re 's@(<TAG.*?>).*?(</TAG>)@\1hi\2@' test.xml
于 2008-09-30T13:44:18.797 回答