Terminal Mac OS终端查找特定关键字图像并复制

Terminal Mac OS终端查找特定关键字图像并复制,terminal,exiftool,Terminal,Exiftool,我有很多照片,我给照片分配了一个名为“背景”的关键字,我想把它作为我的背景。 我的照片位于一个名为“照片”的文件夹中,该文件夹有许多子文件夹 是否有一个终端命令,用于查找文件夹“Photos”中包含关键字“background”的所有照片,并将这些照片复制到文件夹B中 顺便说一句,我有Exiftool,那可能会有帮助 拉尔夫 编辑: “Achtergrond”是指背景 我现在尝试:exiftool-o~/test/MapA-if'$Subject=Achtergrond'~/test/MapB

我有很多照片,我给照片分配了一个名为“背景”的关键字,我想把它作为我的背景。 我的照片位于一个名为“照片”的文件夹中,该文件夹有许多子文件夹

是否有一个终端命令,用于查找文件夹“Photos”中包含关键字“background”的所有照片,并将这些照片复制到文件夹B中

顺便说一句,我有Exiftool,那可能会有帮助

拉尔夫

编辑: “Achtergrond”是指背景

我现在尝试:
exiftool-o~/test/MapA-if'$Subject=Achtergrond'~/test/MapB
还尝试了以下方法:
-如果“$Subject eq”Achtergrond”

我试着:

exiftool -o ~/test/MapA -if '$XMP-dc:Subject eq "Achtergrond"' ~/test/MapB 
    1 directories scanned
    0 image files read

我在这里遗漏了什么?

使用exiftool执行此操作的基本命令是
exiftool-o'/path/to/Folder B/'-if'$Keywords=~/background/i'/path/to/Photos/

您确实需要检查关键字实际存储的位置。根据您用来标记它们的程序,背景标记可能存储在
XMP:Subject
IPTC:Keywords
MDItemKeywords
中。甚至可能是
MDItemUserTags
,我对Mac系统标签的工作原理并不太熟悉

我建议你跑步
exiftool-G1-a-s-api MDItemTags=1 FILE.JPG

在您知道包含“background”标记的文件上,查找包含“background”的标记。如果不是
关键字
,则用该标记名替换上述命令中的
关键字

上述命令的分解:
:这告诉exiftool将文件复制到路径
'/path/to/Folder B/'
。如果输出目录不存在,则需要后面的斜杠,否则exiftool将只创建一个名为“Folder B”的文件。如果路径中有空格或空格需要用反斜杠转义,则需要在路径周围加引号


:这将对
关键字
标记执行不区分大小写的正则表达式检查,以查看它是否包含“背景”。如果确实如此,则该命令将在该文件上执行,否则该文件将被跳过。

我相信您的目录是向后的。
-o
选项指示将文件复制到何处。因此,在上一个命令中,您正在目录
MapB
中搜索要复制到
MapA
的文件。从输出消息中可以看出,
MapB
中没有文件。至于其他尝试,使用等号
=
将不起作用,因为这是一个数字操作。如果没有其他关键字,使用
eq
应该有效,因为它是一个精确的字符串匹配。但是,如果有一个额外的关键字,它将失败,因为它将不再是一个精确的匹配。啊,就是这样,你是对的,我倒过来了,它现在可以工作了,谢谢大家:-)如果你有任何关于exiftool的其他问题,请随时访问。在那里更容易得到更详细的答案。
exiftool -o ~/test/MapA -if '$XMP-dc:Subject eq "Achtergrond"' ~/test/MapB 
    1 directories scanned
    0 image files read