У меня есть XML-файл, содержащий, среди прочего, цифры. Что-то вроде:Как преобразовать все числа в текстовый файл
<things>
<a name="cat">
<vecs>(100,20),(200,40),(50,85)</vecs>
</a>
<b name="dog">
<vecs>(0,10),(5,75)</vecs>
<ratio>85.5</ratio>
</b>
... many more elements and numbers ...
</things>
К сожалению, все числа с <vecs>
элементов в моем файле, в 4 раза больше, чем они должны быть. Мне нужно их умножить на 0,25. Номера в <ratio>
и другие элементы в порядке. Так, например, первая линия <vecs>
выше должен следующим образом:
<vecs>(25,5),(50,10),(12.5,21.25)</vecs>
Есть удобное решение (например, UNIX утилита командной строки, Баш скрипт и т.д.) для обработки файла, так что я могу найти все номера которые живут в определенном контексте (например, между <vecs>
и </vecs>
), выполняют на них математическую операцию и заменяют существующий числовой текст в каждом экземпляре результатом операции?
И нет, я не прошу вас написать целую программу для решения этой конкретной проблемы в деталях. Мне интересно, существует ли существующий инструмент для таких целей или умное сочетание существующих инструментов, которые могли бы выполнить эту работу.
Кажется, что быстрый скрипт Python должен выполнять эту работу. Все, что действительно, позволит вам легко читать XML из файла, изменять определенные элементы этого XML и записывать изменения обратно. –
@MattBall Да, я думал, что это может заставлять меня наконец изучить Python. Или Perl или Ruby. – OldPeculier