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