题
如何逃避'<'和'>' sed中的人物。
我有一些xml文件需要在要替换的标记之间添加一些文本。如何逃避'>'和'<'字符。
>的问题和<是否在shell中将输出重定向到文件具有特殊含义。所以反斜杠不起作用。
解决方案
确定。由我自己找到。使用引号。
$ sed -i "s/>foo</>bar</g" file
其他提示
只需在它们前面放一个反斜杠或用单引号或双引号括起来。再想一想,我认为你的问题需要更清楚。您是否尝试使用sed处理XML文件,并且想要获取标记之间的内容?那你想要:
sed -re 's@(<TAG.*?>).*?(</TAG>)@\1hi\2@' test.xml
使用反斜杠转义它们
不隶属于 StackOverflow