我有一个 JPG 文件列表,每个文件位于我的命令行服务器上的不同文件夹中,我需要将它们转换为 PNG。
我知道使用 mogrify 逐个转换它们的简单命令。但我有大约 300 张不同名称的图像分布在不同的文件夹中,如下所示:
/home/user/dfp/app/roundtable/wp-content/uploads/2022/06/play.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2021/02/turn.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2020/01/up.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2022/09/down.jpg
/home/user/dfp/app/roundtable/wp-content/uploads/2021/01/left.jpg
etc etc
每个目录中还有成千上万张其他图像,我根本不想改变它们。只是我列表中的特定文件。
有没有一种简单的工具可以批量转换我拥有的图像列表?我确实有一个图像列表,如上例所示,在 .txt 文件中。
答案1
您可以使用简单的 shell 循环来读取和处理列表文件中的文件名。bash
例如,在 shell 中:
while IFS= read -r file; do
# your mogrify command on "$file"
done < path/to/listfile.txt
#!/bin/bash
您可以在交互式 bash 命令行中运行它,也可以作为顶部带有 shebang 的脚本运行它。