gpt4 book ai didi

xml - 将许多文件从 XML 'File Id' 值批量重命名为 'Short Name' 值

转载 作者:太空宇宙 更新时间:2023-11-04 05:20:35 24 4
gpt4 key购买 nike

基本上,我想将多个目录中的所有文件从“文件 ID”值批量重命名为“短名称”值。所有信息都存在于 XML 文件中。文件当前按其文件 ID 命名。

<File Id="12345678" Language="Falls">
<ShortName>Large/drops.wav</ShortName>
</File>
<File Id="87654321" Language="Rocks">
<ShortName>Medium/flake.wav</ShortName>
</File>
<File Id="857483" Language="Trip">
<ShortName>Truck/Axle.wav</ShortName>
</File>
<File Id="432489839" Language="Okre">
<ShortName>SoundOut/Frog.wav</ShortName>
</File>

我假设步骤是告诉脚本使用 File Id= 的值来搜索目录树,然后让它从该文件组 (file..../file) 中读取 Id 的短名称,然后将名称写入文件,然后继续。

脚本需要能够区分多个 fileID 的短名称(例如:一旦被告知搜索 12345678,在目录树中找到它,并被告知找到它的短名称,当然,它不能使用 87654321 或任何其他的短名称)。可能有大约 1000 多个文件需要处理,因此我需要自动化。

这个要求是不是太高了?在 Linux 和 Windows 上都尝试过,但似乎根本无法走得太远。我对使用 grep 和 file 进行基本重命名感到满意,但这让我感到困惑。

最佳答案

这些文件在同一目录中吗?如果属实,请尝试

$ xmlstarlet sel -t -m '//File' -v 'concat("mv ", @Id," ",ShortName)' -n f.xml
mv 12345678 Large/drops.wav
mv 87654321 Medium/flake.wav
mv 857483 Truck/Axle.wav
mv 432489839 SoundOut/Frog.wav

关于xml - 将许多文件从 XML 'File Id' 值批量重命名为 'Short Name' 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42477067/

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