Mac OS 终端查找特定关键字图像并复制
Mac OS Terminal Find Specific Keyword image and Copy
我有很多照片,我为我想要作为背景的照片分配了一个名为 "background" 的关键字。
我的照片位于名为 "Photos" 的文件夹中,该文件夹有很多子文件夹。
是否有一个终端命令可以在文件夹 "Photos" 中找到所有包含关键字 "background" 的照片并将这些照片复制到 "Folder B"?
顺便说一句,我有 Exiftool,这可能会有所帮助。
拉尔夫
编辑:
'Achtergrond'表示背景
我试过了:exiftool -o ~/test/MapA -if '$Subject=Achtergrond' ~/test/MapB
也试过这个:
-if '$Subject eq "Achtergrond"'
exiftool -G1 -a -s -api MDItemTags=1 File.jpg| grep Achtergrond
[MacOS] MDItemKeywords : Achtergrond
[XMP-dc] Subject : Achtergrond
exiftool File.JPG | grep Achtergrond
Subject : 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" 的标签。如果它不是 Keywords
,则将上面命令中的 Keywords
替换为该标记名称
上述命令的分解:
-o '/path/to/Folder B/'
:这告诉 exiftool 将文件复制到路径 '/path/to/Folder B/'
。如果输出目录不存在,则需要尾部斜杠,否则 exiftool 将只创建一个名为 "Folder B" 的文件。如果路径中有空格或空格需要用反斜杠转义,则需要在路径两边加上引号。
-if '$Keywords=~/background/i'
:这对 Keywords
标签执行不区分大小写的 RegEx 检查,看它是否包含 "background"。如果是,则命令将在该文件上执行,否则将跳过该文件。
我有很多照片,我为我想要作为背景的照片分配了一个名为 "background" 的关键字。 我的照片位于名为 "Photos" 的文件夹中,该文件夹有很多子文件夹。
是否有一个终端命令可以在文件夹 "Photos" 中找到所有包含关键字 "background" 的照片并将这些照片复制到 "Folder B"?
顺便说一句,我有 Exiftool,这可能会有所帮助。
拉尔夫
编辑: 'Achtergrond'表示背景
我试过了:exiftool -o ~/test/MapA -if '$Subject=Achtergrond' ~/test/MapB
也试过这个:
-if '$Subject eq "Achtergrond"'
exiftool -G1 -a -s -api MDItemTags=1 File.jpg| grep Achtergrond
[MacOS] MDItemKeywords : Achtergrond
[XMP-dc] Subject : Achtergrond
exiftool File.JPG | grep Achtergrond
Subject : 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" 的标签。如果它不是 Keywords
,则将上面命令中的 Keywords
替换为该标记名称
上述命令的分解:
-o '/path/to/Folder B/'
:这告诉 exiftool 将文件复制到路径 '/path/to/Folder B/'
。如果输出目录不存在,则需要尾部斜杠,否则 exiftool 将只创建一个名为 "Folder B" 的文件。如果路径中有空格或空格需要用反斜杠转义,则需要在路径两边加上引号。
-if '$Keywords=~/background/i'
:这对 Keywords
标签执行不区分大小写的 RegEx 检查,看它是否包含 "background"。如果是,则命令将在该文件上执行,否则将跳过该文件。