我想在我的目录中找到所有包含特定标签的 .jpg 文件,并将它们复制到另一个目录。具体来说,我正在使用 GThumb,它允许我为照片添加标签 - 它将它们作为列表存储在关键字:exiftool -Keywords IMG_0205.JPG
outputs 下Keywords : winter, nice_photos, my_anther_tag
。我想找到所有包含标签“winter”的图像并将它们复制到另一个目录。但是,我没有找到如何指定我只想列出包含标签“winter”的图像的文件名的方法。我也尝试过jhead
,但遇到了同样的问题,或者将它与 grep 然后 sed 结合使用,但它似乎太复杂了(因为我甚至不知道如何至少在与关键字:winter 相同的行中列出文件名,...)。
你对于如何做这件事有什么建议吗?
答案1
这是一个 SMOP(简单编程)。
使用find
和xargs
(读取man find xargs
)将所有文件的列表传递.jpg
给bash
脚本。
在脚本中,使用
while [[ $# -gt 0 ]] ; do
file="$1"
shift
...
do something with "$file"
...
done
建造。
在“使用“$file”执行某些操作”部分,用来exiftool
提取您想要的属性,对其进行测试,然后移动(或不移动)“$file”,或者只是printf
合格文件的名称。