2008-09-30 58 views
3

如何在sed中转义'<'和'>'字符。Escape < and > in sed/shell

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

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

回答

4

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

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

逃脱他们的反斜杠

0

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

sed -re '[email protected](<TAG.*?>).*?(</TAG>)@\1hi\[email protected]' test.xml 
+0

我不想处理xml文件。只需替换 foobar之间的一些文本即可。不管怎样,谢谢。 – cnu 2008-09-30 13:57:09