我最近在 Shotwell 中为大约 200 张照片赋予了数字标题,以描述它们的序列——001、002 等。但我希望文件名中的序列也相同,这样当我在 Nautilus 中打开文件夹时,照片会按顺序列出。我认为 Shotwell 将标题保存在 exif 数据的某个地方。事实上,我最终使用 Gnome 图像查看器在 XMP Other 和 photoshop:Headline 下找到了它。我想要的是一种读取这些 Shotwell 标题并将其用作文件名的方法。如果我知道如何访问元数据,我可能可以用 Python 来做到这一点。
答案1
由于没有其他答案显示如何要真正重命名照片并添加标题Shotwell
,这里有一个使用 bash 编写脚本的快速方法,正如您在评论中所说,您已经有了 python 替代方案。可能还有其他方法可以做到这一点,但这种方法可能对某些人有用。
由于您已经为图片添加了标题Shotwell
并将其导出,并且找到了存储Shotwell
添加的元数据的位置,因此编写脚本相对简单。
请安装libimage-exiftool-perl
,因为它对于脚本来说是必需的。
- 如果您使用
exiftool -a G1 -s pic.jpg
,您可以看到图片中嵌入的所有元数据类型和标签,以及Shotwell
元数据的位置:
[XMP-photoshop] Headline : 002
[XMP-dc] Title : 002
[IPTC] Caption-Abstract : 002
[IPTC] Headline : 002
[IPTC] OriginatingProgram : Shotwell
[IPTC] ProgramVersion : 0.13.1+trunk
- 现在,我们的脚本中
XMP-photoshop
可以使用或 IPTC 标签exiftool
来显示元数据(然后使用该结果值重命名文件)。
输入exiftool -IPTC:headline pic.jpg
结果
Headline : 002
并且可以对其进行解析awk
并将其作为变量反馈来重命名文件:
mv -i "$i" "$(exiftool -IPTC:headline -s3 "$i").jpg"
- 最终的脚本如下:
#!/bin/bash
for i in *.jpg; do
mv -i "$i" "$(exiftool -IPTC:headline -s3 "$i").jpg"
done
因此,现在所有文件都已根据其Shotwell
标题重命名,正如我们在使用以下命令检查文件时看到的那样exiftool -a -G1 -s pic.jpg
:
ExifTool Version Number : 9.12
File Name : 002.jpg
笔记:
exiftool 的存储库版本很好,但是相当旧,因此如果您需要支持各种新功能和错误修复,请参阅官方网站有关如何构建和安装较新版本的信息。
脚本保留所有元数据不变,因为只有实际文件本身被重命名。
显然,只有当您的图片中嵌入使用 Shotwell 创建的标题时,该脚本才会起作用,但它也可以用于其他用途。
有关更多常规信息,请参阅man exiftool
或Ubuntu 在线手册页。
答案2
我做了一个apt-cache search exif
,并发现(在其他包中):
exiv2 - EXIF/IPTC metadata manipulation tool
bins - Generate static HTML photo albums using XML and EXIF tags
exif - command-line utility to show EXIF information in JPEG files
exifprobe - Read metadata from digital pictures
exiftags - utility to read Exif tags from a digital camera JPEG file
jigl - Generates a static html photo gallery from one or more directories of images
libexif-ruby1.9.1 - EXIF tag parsing Library for ruby1.9.1
libimage-exif-perl - Perl module to extract EXIF information from image files
libimage-exiftool-perl - Library and program to read and write meta information in multimedia files
libimage-info-perl - allows extraction of meta information from image files
metacam - extract EXIF information from digital camera files
pyrenamer - mass file renamer written in PyGTK
python-exif - Python library to extract EXIF data from tiff and jpeg files
renrot - Rename and rotate files according to EXIF tags
因此尝试芘尼美拉。如果你不能让它做你喜欢的事情,你可以用python-exif