如何查找并返回包含特定元数据的所有图像的名称?

如何查找并返回包含特定元数据的所有图像的名称?

我想在我的目录中找到所有包含特定标签的 .jpg 文件,并将它们复制到另一个目录。具体来说,我正在使用 GThumb,它允许我为照片添加标签 - 它将它们作为列表存储在关键字:exiftool -Keywords IMG_0205.JPG outputs 下Keywords : winter, nice_photos, my_anther_tag。我想找到所有包含标签“winter”的图像并将它们复制到另一个目录。但是,我没有找到如何指定我只想列出包含标签“winter”的图像的文件名的方法。我也尝试过jhead,但遇到了同样的问题,或者将它与 grep 然后 sed 结合使用,但它似乎太复杂了(因为我甚至不知道如何至少在与关键字:winter 相同的行中列出文件名,...)。

你对于如何做这件事有什么建议吗?

答案1

这是一个 SMOP(简单编程)。

使用findxargs(读取man find xargs)将所有文件的列表传递.jpgbash脚本。

在脚本中,使用

while [[ $# -gt 0 ]] ; do
    file="$1"
    shift
    ...
    do something with "$file"
    ...
done

建造。

在“使用“$file”执行某些操作”部分,用来exiftool提取您想要的属性,对其进行测试,然后移动(或不移动)“$file”,或者只是printf合格文件的名称。

相关内容