Axe*_*ier 5 command-line xml text-processing
<filename>我有大约 4000 个 XML 文件,我需要替换和字段的值<path>。我需要动态替换这些字段。例如images0001.xml应该images0001在两个字段内,images0002.xml应该在images0002两个字段内,等等。
我已经使用此命令按顺序重命名文件:
rename 's/.+/our $i; sprintf("images%04d.jpg", 1+$i++)/e' *
Run Code Online (Sandbox Code Playgroud)
我还使用此命令删除了.jpg我试图更改的两个字段中的扩展名:
sed -i 's/.jpg//g' Annotations/*
Run Code Online (Sandbox Code Playgroud)
以下是 XML 文件内容的当前状态:
rename 's/.+/our $i; sprintf("images%04d.jpg", 1+$i++)/e' *
Run Code Online (Sandbox Code Playgroud)
这是我需要更改文件的方式:
sed -i 's/.jpg//g' Annotations/*
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种在命令行中执行此操作的方法,但搜索了一段时间后我无法找到解决方案!
任何帮助将不胜感激。提前致谢!
您需要一个 XML 工具(如xmlstarlet)...所以:
sudo snap install xmlstarlet
Run Code Online (Sandbox Code Playgroud)
在一个循环中......所以:
sudo snap install xmlstarlet
Run Code Online (Sandbox Code Playgroud)