在sed / shell中转义<和>

时间:2020-03-06 14:55:21  来源:igfitidea点击:

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

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

和<的问题是它在shell中将输出重定向到文件具有特殊含义。因此反斜杠不起作用。

解决方案

用反斜杠转义

只需在它们前面加一个反斜杠或者将它们括在单引号或者双引号中即可。再次考虑之后,我认为问题需要更清楚。我们是否要使用sed处理XML文件,并且想要获取标签之间的内容?然后,我们想要:

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

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

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