Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何在 sed 中转义 '<' 和 '>' 字符。
我有一些 xml 文件需要替换标签之间的一些文本。如何转义 '>' 和 '<' 字符。
> 和 < 的问题在于它在 shell 中具有特殊含义,可以将输出重定向到文件。所以反斜杠不起作用。
行。自己发现的。使用引号。
$ sed -i "s/>foo</>bar</g" file
用反斜杠转义它们
只需在它们前面加上反斜杠或用单引号或双引号将它们括起来。再想一想,我认为你的问题需要更清楚。您是否尝试使用 sed 处理 XML 文件并且想要获取标签之间的内容?然后你想要:
sed -re 's@(<TAG.*?>).*?(</TAG>)@\1hi\2@' test.xml