我需要处理xml文件并复制其中出现的一些资源
输入资源
-inputFolder
-1.xml
-1.jpg
-2.jpg
1.xml的内容:
<links>
<link ref="1.jpg"/>
<link ref="2.jpg"/>
</links>
输出资源
-outputFolder
-1.xml.out
-1.jpg
-2.jpg
1.xml.out的内容:
<links_new>
<link_new ref_new="1.jpg"/>
<link_new ref_new="2.jpg"/>
</links_new>
因此我想复制1.jpg和2.jpg,有可能吗?
答案 0 :(得分:1)
您可以使用XML starlet command tool来解析xml文件。
要复制1.jpg和2.jpg,请使用以下命令(适用于unix或cygwin):
xml sel -t -m "/links/link/@ref" -v '.' -o ';' 1.xml | xargs -d';' -I {} cp /input/path/{} /output/path/
命令
xml sel -t -m "/links/link/@ref" -v '.' -o ';' 1.xml
选择所有jpg文件并用';'分隔它们。
然后xargs
解析输入并将其传递给cp
,后者将文件复制到目标目录。