gpt4 book ai didi

windows - 如何在文件夹中的所有文件中执行文本替换?

转载 作者:可可西里 更新时间:2023-11-01 13:51:12 25 4
gpt4 key购买 nike

我需要更新大量 .xml 文件中的单个参数。我四处阅读并在 Windows 命令行中使用一行 perl 我可以让它一次替换一个文件,但我正在努力让 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:没有那个文件或目录”

我试着看看我是否可以使用 system() 从另一个 perl 脚本中调用它,但这似乎与引号的使用有关,而且可能不是执行此操作的最佳方法。

总结:

问题 - 我有大量 .xml 文件,我想在其中更改单个参数。我必须能够在 Windows 机器上执行此操作,理想情况下,我想找到一个解决方案,使我能够在脚本中自动执行此操作,这样我就可以循环遍历大量参数值替换(通过调用一个单独的程序)将 .xml 文件作为替换之间的输入)。

感谢您提供的任何帮助。

最佳答案

试试这个:

for /r %i in (*.xml) do perl -pi.bak -e "s/(\d+.\d+E-\d+)/2.2E-6/g;" %i

关于windows - 如何在文件夹中的所有文件中执行文本替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5352577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com