Je dois mettre à jour un seul paramètre dans un grand ensemble de fichiers .xml. J'ai lu un peu partout et en utilisant une seule ligne de perl à la ligne de commande de Windows, j'arrive à faire des substitutions un fichier à la fois, mais j'ai du mal à faire en sorte que perl fasse tous les fichiers en même temps.
perl -pi.bak -e "s/(\d+\.\d+E-\d+)/2.2E-6/g;" test.xml
Cela fonctionne, mais lorsque j'essaie de le changer en quelque chose comme
perl -pi.bak -e "s/(\d+\.\d+E-\d+)/2.2E-6/g;" *.xml
J'obtiens "Can't open *.xml : Invalid argument".
perl -pi.bak -e "s/(\d+\.\d+E-\d+)/2.2E-6/g;" .xml
Donne "Can't open .xml : No such file or directory"
J'ai essayé de voir si je pouvais l'appeler à partir d'un autre script perl en utilisant system(), mais cela semble poser problème avec l'utilisation des guillemets, et ce n'est peut-être pas la meilleure façon de le faire.
Résumé :
Problème - J'ai un grand nombre de fichiers .xml dans lesquels je veux modifier un seul paramètre. Je dois être en mesure de le faire sur une machine Windows et, idéalement, je voudrais travailler vers une solution qui me permettrait d'automatiser cela dans un script afin que je puisse boucler sur de nombreuses substitutions de valeurs de paramètres (avec un appel à un programme séparé qui prend les fichiers .xml comme entrée entre les substitutions).
Merci pour toute aide que vous pourrez m'apporter.