【发布时间】:2012-03-30 14:27:01
【问题描述】:
我有一个 XML 文件,其中包含一组这样的条目:
<attr name="trajectory" value="nodo2"/>
我想要做的是将文件每个条目中的值字段替换为“nodoX”形式的条目,其中 X 应该从包含数字列表的第二个文件中读取,例如“file2”包含:
4
8
67
52
在这种情况下,我处理过的 XML 文件应该将之前的条目替换为:
<attr name="trajectory" value="nodo4"/>
...
<attr name="trajectory" value="nodo8"/>
...
<attr name="trajectory" value="nodo67"/>
...
<attr name="trajectory" value="nodo52"/>
...
目前我正在尝试使用以下 awk 命令,但它不起作用:
awk '/"trajectory"/ {if (getline < "file2") {x=$1; sub(/"nodo2"/,"\"nodo"x"\"")}}1' $XML_INPUT_FILE > $XML_OUTPUT_FILE
有人可以建议在 awk 中完成这项工作的正确方法吗?
谢谢
丹尼尔
【问题讨论】:
标签: awk