我有大量的 XML 文件需要重命名。它们是 .plist 文件。
每个文件中都有一些标签,如下所示:
<key>Name</key>
<string>Steve Allen</string>
<key>Place</key>
<string>London</string>
目前,所有文件都以长随机数命名,如 659238592496052.record
但我需要它们根据文件中的名称命名,如 SteveAllen.record
(没有任何空格)。
我该怎么做?
最佳答案
for file in *.record
do
nameline=$(grep -A 1 '<key>Name</key>' "$file" | tail -n +2) # Get line after Name key
name=${nameline/<string>/} # Remove initial <string>
name=${name/<\/string>/} # Remove trailing </string>
name=${name// /} # Remove all spaces
mv "$file" "$name".record
done
关于xml - 根据xml标签内容重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15395131/