【发布时间】:2014-07-14 22:16:25
【问题描述】:
我有一个名为 metadata.xml 的文件,其中包含(唯一)标签 MissingVal 等等:
metadata.xml:
<foo1>
someData
</foo1>
<foo2>
123.54
</foo2>
<MissingValue>
</MissingValue>
<foo3>
1.0
</foo3>
我正在使用 BASH 脚本来处理这个文件。在脚本中,我将变量 SomeVal 设置为数字“真实”值:SomeVal=1234567890.0。
如何让我的 BASH 脚本将 SomeVal 的值写入 metadata.xml 文件中的 <MissingValue> 标记?运行脚本应该使metadata.xml 如下所示:
metadata.xml:
<foo1>
someData
</foo1>
<foo2>
123.54
</foo2>
<MissingValue>
1234567890.0
</MissingValue>
<foo3>
1.0
</foo3>
我想我可以使用awk 或sed 来执行此操作,但我对这些程序还不够熟悉,无法取得很大进展。
提前致谢!
【问题讨论】:
-
我不确定有没有一种漂亮的方法可以用 shell 做到这一点。请改用一些工具,例如 c++ 中的
libxml或 python 中的ElementTree。