从命令行管理 darktable 标签

从命令行管理 darktable 标签

有没有办法从命令行从 darktable 读取图像标签,即类似的方法darktable --get-tags myimage.jpg会返回该图像的所有标签。

如何从命令行标记图像或修改标签,以便将标签集成到 darktable 数据库中?

编辑

darktable 似乎使用 xmp sidecar 文件,标签位于 xmp sidecar 文件中,例如

<dc:subject>
    <rdf:Seq>
     <rdf:li>myTag1</rdf:li>
     <rdf:li>myTag2</rdf:li>
    </rdf:Seq>
   </dc:subject>
   <lr:hierarchicalSubject>
    <rdf:Seq>
     <rdf:li>myTag1</rdf:li>
     <rdf:li>myTag2</rdf:li>
    </rdf:Seq>
   </lr:hierarchicalSubject>

但是我不知道如何从命令行读取、设置和修改它。我的第一个想法是使用sedorawk但这些都是针对单行中的事情。

另一种方法是直接读取和写入 darktable 数据库,该数据库另外用于 xmp 文件。

编辑2 我刚刚意识到exiftool可以设置xmp sidecar文件的标签:例如

exiftool -Subject=myNewTag myimage.jpg.xmp
exiftool -`Hierarchical*Subject*`=myNewTag myimage.jpg.xmp

删除所有标签并设置myNewTag为唯一标签。或者

exiftool -Subject+=myAdditionalTag myimage.jpg.xmp
exiftool -`Hierarchical*Subject*`+=myAdditionalTag myimage.jpg.xmp

将标签添加myAdditionalTag到标签列表中。

然后我检查了该选项look for updated xmp files on startup在 darktable 中并希望它能在重新加载时更新标签。然而,即使我像第一种情况一样删除了旧标签,darktable 也会向我显示新标签旧的(已删除的)标签。

所以这似乎不是一条路。

相关内容