Как добавить и / или вычесть константу из некоторых значений XML-элементов с помощью xmlstarlet - PullRequest
0 голосов
/ 29 сентября 2019

У меня есть XML-файл с множеством записей, таких как:

<object>
    <name>buf</name>
    <bndbox>
        <xmin>535</xmin>
        <ymin>725</ymin>
        <xmax>636</xmax>
        <ymax>821</ymax>
    </bndbox>
</object> 

Есть ли способ использовать xmlstarlet (или другой инструмент) для вычитания значения 10 из каждого xminтекущее значение элемента?

1 Ответ

0 голосов
/ 29 сентября 2019

Чтобы вычесть значение 10 из всех xmin элементов, используйте следующую команду xmlstarlet:

xmlstarlet ed -u "//xmin" -x ".-10" input.xml

Вывод примера XML:

<?xml version="1.0" encoding="UTF-8"?>
<ParentId>
  <object>
    <name>buf</name>
    <bndbox>
      <xmin>525</xmin>
      <ymin>725</ymin>
      <xmax>636</xmax>
      <ymax>821</ymax>
    </bndbox>
  </object>
</ParentId>
...