为 x-wallpapers.xml 创建自定义 XML 条目的脚本

为 x-wallpapers.xml 创建自定义 XML 条目的脚本

我知道有办法做到这一点,但我只是把我最喜欢的一堆壁纸文件转储到了 /usr/share/backgrouds/ 中。为了让我的 Ubutnu 17.10 使用它们,我需要编辑 artful-wallpapers.xml 文件并将每个文件名添加到如下所示的语句中:

<wallpaper>
 <name>calm</name>
 <filename>/usr/share/backgrounds/02488_calm_1440x900.jpg</filename>
 <options>zoom</options>
 <pcolor>#000000</pcolor>
 <scolor>#000000</scolor>
 <shade_type>solid</shade_type>
</wallpaper>

一次完成一项工作非常漫长且繁琐,我确信我以前合并过数据,但我无论如何也想不起来该怎么做。

脚本会非常有用,或者至少可以作为教程的指导。

提前致谢。

答案1

通过 Bash 脚本在文件夹中使用 XML 格式的文件名

您可以使用 bash 脚本轻松完成此操作。这将输出您需要的所有 xml,以便您可以将其复制/粘贴到 artful-wallpapers.xml 中。

此脚本将获取当前文件夹中的所有文件名并将其格式化为问题中的 XML。您可以轻松修改它以满足您的需求。

BASH 脚本

#!/bin/bash
shopt -s nullglob
arr=(*)

for i in "${arr[@]}"
do
if [ "$i" != "makeXML" -a ! -d "$i" ]
then
   echo "<wallpaper>
 <name>$i</name>
 <filename>/usr/share/backgrounds/$i</filename>
 <options>zoom</options>
 <pcolor>#000000</pcolor>
 <scolor>#000000</scolor>
 <shade_type>solid</shade_type>
</wallpaper>
"
fi
done

如何使用它

在您的主文件夹中创建一个名为“壁纸”的文件夹,并将您想要使用的所有图像放在此文件夹中。

将上述脚本放在包含照片的文件夹 (~/wallpapers) 内名为 makeXML 的纯文本文件中。从终端运行:

$ cd ~/wallpapers
$ bash makeXML

将屏幕上的输出粘贴到壁纸标签内的 x-wallpapers.xml 文件中。

最后将所有图像从 ~/wallpapers 移动到 /usr/share/backgrounds 并删除壁纸文件夹。

相关内容