我想以幻灯片形式展示我的照片,并为每张照片显示日期。我用 尝试过feh
,它是用exif=1
我找到了
--info
,--drawexif
但无法让它工作。feh -d --draw-exif '-Directory<DateTimeOriginal>' -F --recursive Pictures/lokalt/pictures/
左上角显示图片名称和图片路径全部EXIF 数据位于左下角。
尝试了我看到“无处不在”的例子:
feh --info "exifgrep '(Model|DateTimeOriginal|FNumber|ISO|Flash)' %F | cut -d . -f 4-" .
这显示了没有文字的图片,当我退出时,我看到我有 2 个注释:
sh: 1: exifgrep: not found sh: 1: exifgrep: not found
我应该如何格式化 EXIF 部分以仅显示照片日期?或者还有别的办法吗?
答案1
这个周末我带着完全相同的问题坐在那里,像疯子一样寻找答案,并偶然发现了这篇文章。在我自己终于弄清楚之后,我现在回到这里,创建一个帐户只是为了回答这个问题,如果其他人可能有同样的问题。
很多事情实际上都很简单。您需要安装 exifprobe 程序,exifgrep 是该程序的一部分。
sudo apt-get install exifprobe
--info 命令在 shell 中执行该命令,因此您需要安装 exifprobe 才能使其正常工作。 exifprobe/exifgrep 中的构建在 shell 中不起作用。例如,使用 --info 基本上可以让它打印任何命令输出feh --info 'echo "this will be printet on the image"' ./
安装 exifprobe 后,您可以运行以下 feh 命令并获取所需的日期信息。示例中的 cut 命令只是删除日期旁边显示的一些文本,以便您可以根据需要自行添加。
feh --info "exifgrep 'DateTimeOriginal' %F"
然而
实际上我最终为自己找到了不同的解决方案。你看,exifgrep 无法处理路径名中的空格因此,如果您有一条名为的路径,"~/Photos/My Favorit Cats/cat.jpg"
它将无法工作,并且无论我如何尝试转义路径名,它都会中断。
相反,我最终发现exiftool
你可以通过以下方式安装
sudo apt-get install exiftool
exiftool
正确处理空格并且可以做很多很酷的事情,请查看手册。对您来说最重要的可能是列出照片的所有标记名,如果您想要的不仅仅是日期,请编写以下内容。
exiftool -s "~/Photos/My Favorit Cats/cat.jpg"
-s 用于获取实际的标签名称,没有它,您将获得人类可读的名称。
然后使用这个工具我最终得到了下面的 feh 命令。请注意最后的点斜杠,这仅表示显示此文件夹中的所有照片。 cut 命令同样只是删除字符串输出中实际日期前面的标签名称。
feh --info 'exiftool -DateTimeOriginal %F | cut -d : -f 2-' ./
我希望这对寻找同样问题的其他人有所帮助。