首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >exiftool防止重复iptc:关键字/xmp:subject时使用add +=

exiftool防止重复iptc:关键字/xmp:subject时使用add +=
EN

Stack Overflow用户
提问于 2017-02-21 10:57:26
回答 2查看 1.2K关注 0票数 0

问题:

当我有一个带有iptc:keywords=holliday的jpg和我执行

  • myImage.jpg -IPTC:Keywords+=holliday -IPTC:Keywords+=ocean

这张图片有两个"holliday“标签

为了避免重复,我目前使用

  • exiftool myImage.jpg -IPTC:关键字-=holliday -IPTC:Keywords+=holliday -IPTC:关键字-= -IPTC:Keywords+=ocean

因此,如果jpg中还不存在关键字,"-=“就没有作用。

但是,这种方法的缺点是,jpg总是被修改,即使它不是必要的,因为关键字已经存在了。

是否有一种更有效的axiftool调用方式来添加关键字/主题,只有在必要时才进行更改?

背景:

目前,我正在为android和pc之间的关键字/主题实现元数据同步。

android为每一次更改生成一个msdos批处理脚本条目,我使用基于exiftool的bat脚本在pc端应用元数据更改

由于pc关键字的更改可以来自不同的android设备,所以必须添加/删除关键字,并且不能完全设置。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-21 12:04:31

代码语言:javascript
复制
exiftool.exe myImage.jpg -if "not $keywords =~ \"holliday\""  -IPTC:Keywords+=holliday

如果关键字不存在,请添加它。

编辑了以适应注释

代码语言:javascript
复制
exiftool.exe ^
    -if "not $keywords =~ \"holliday\""  -IPTC:Keywords+=holliday ^
    -execute ^
    -if "not $keywords =~ \"ocean\""  -IPTC:Keywords+=ocean ^
    -common_args myImage.jpg
票数 1
EN

Stack Overflow用户

发布于 2021-01-30 12:55:30

关于Linux bash的一些研究:

代码语言:javascript
复制
exiftool -if 'not $keywords =~ /holiday/' -Keywords+=holiday myImage.jpg ;
exiftool -if 'not $keywords =~ /ocean/' -Keywords+=ocean myImage.jpg ;

双引号在这里不起作用,所以这里有一种处理单引号的方法:

代码语言:javascript
复制
exiftool -if 'not $Keywords =~ /harry'\''s/' -Keywords+='harry'\''s' myImage.jpg ;

如果您的regexp必须不区分大小写:

代码语言:javascript
复制
exiftool -if 'not $Keywords =~ /joe/i' -Keywords+='Joe' myImage.jpg ;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42365424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档