Мне нужно обновить один параметр в большом наборе XML-файлов. Я читаю вокруг и, используя одну строку perl в командной строке Windows, могу заставить его выполнять подстановки файлов за раз, но я изо всех сил пытаюсь заставить perl делать все файлы одновременно.
perl -pi.bak -e "s/(\d+\.\d+E-\d+)/2.2E-6/g;" test.xml
Это работает, однако, когда я пытаюсь изменить его на что-то вроде
perl -pi.bak -e "s/(\d+\.\d+E-\d+)/2.2E-6/g;" *.xml
Я получаю «Не могу открыть * .xml: Неверный аргумент»
perl -pi.bak -e "s/(\d+\.\d+E-\d+)/2.2E-6/g;" .xml
Дает мне "Не могу открыть .xml: нет такого файла или каталога"
Я пытался выяснить, могу ли я вызвать его из другого perl-скрипта с помощью system (), однако, это, кажется, вызывает проблемы с использованием кавычек, и, возможно, не лучший способ сделать это.
Резюме:
Проблема - у меня есть большое количество XML-файлов, в которых я хочу изменить один параметр. Я должен быть в состоянии сделать это на компьютере с Windows, и в идеале я хотел бы работать над решением, которое позволило бы мне автоматизировать это в сценарии, чтобы я мог циклически выполнять многочисленные замены значений параметров (с вызовом отдельной программы, которая принимает XML-файлы в качестве входных данных между подстановками).
Спасибо за любую помощь, которую вы можете предложить.