在 sed/shell 中转义 < 和 >

Posted

技术标签:

【中文标题】在 sed/shell 中转义 < 和 >【英文标题】:Escape < and > in sed/shell 【发布时间】:2010-09-14 06:17:04 【问题描述】:

如何在 sed 中转义 '' 字符。

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

> 和

【问题讨论】:

【参考方案1】:

用反斜杠转义

【讨论】:

【参考方案2】:

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

sed -re 's@(<TAG.*?>).*?(</TAG>)@\1hi\2@' test.xml

【讨论】:

我不想处理 xml 文件。只需替换 foobar 之间的一些文本。无论如何,谢谢。【参考方案3】:

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

$ sed -i "s/>foo</>bar</g" file

【讨论】:

以上是关于在 sed/shell 中转义 < 和 >的主要内容,如果未能解决你的问题,请参考以下文章

如何在 sed 中转义斜杠和双引号和单引号?

为啥必须在 XML 属性中转义 <?

在 Laravel Blade 中转义 VueJS 数据绑定语法?

如何在标题属性中转义双引号

在 Apache Ant 中转义斜线

在 Rails 和 Javascript 中转义