【发布时间】:2016-04-04 06:56:42
【问题描述】:
<root>
<tag>1</tag>
<tag1>2</tag1>
</root>
需要从 bash 更改值 1 和 2
【问题讨论】:
-
把它们改成什么?如果这是你的输入,你想要的输出是什么?
-
更改全局变量的值
-
sed 的解决方案:sed 's#
([^# SOMETHING #'test.xml -i -
@StefanoBorini,这有什么关系?大量可从 bash 访问的非正则表达式 XML 操作工具。
-
@Roman,如果您不关心正确性,那只是一个“解决方案”。例如,
CDATA部分中的<tag>根本不是标签,而是文本;<tag>里面的<--和-->是评论。在具有xmlns=http://example.com/foo的子树下的<tag>是{http://example.com/foo}tag,而不是tag。没有 sed 表达式会知道 XML 语法的复杂性。