我有一个标记为<![CDATA[]]>
&amp;的XML文件。我需要用
<![CDATA[XXX]]>
当我试图替换使用时
sed命令:sed 's/<![CDATA[]]>/<![CDATA[XXX]]>/g' stores.xml
我无法看到我的文件发生任何变化。
请帮我找到解决方案。
答案 0 :(得分:2)
试试这个:
sed -i 's/<!\[CDATA\[\]\]>/<!\[CDATA\[XXX\]\]>/g' stores.xml
你需要转义括号,否则它们在regexp语法中表示“任何包含的字符”。
要查看应用于现有文件的更改,请使用选项-i
。或者你可以使用
sed ... < stores.xml > new_stores.xml
至少,对于测试来说,可能更符合您的口味,因为它会创建一个带有结果的新文件并保持原始状态不变。 (之后使用mv new_stores.xml stores.xml
以防结果看起来很好。)