У меня есть файл 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?
Спасибо
Даниэль