在Mac上过滤出不同exif日期的照片



我正在macOS上寻找一种方法来过滤创建日期与exif照片日期不匹配的照片。做这件事的最佳工具是什么?

我不是exiftool的专家,但我认为我得到了你想要的90%的东西。我一步一步写出来,这样:

  • 如果它不是你想要的,你可以调整它,并且
  • 这样我就能记住我将来做了什么:-(

所以第一件事是使用exiftool来获取与日期相关的所有内容:

exiftool image.jpg | grep -i date
File Modification Date/Time     : 2021:01:14 10:51:38+00:00
File Access Date/Time           : 2021:01:14 10:51:40+00:00
File Inode Change Date/Time     : 2021:01:14 10:51:38+00:00
Modify Date                     : 2013:03:09 08:59:50
Date/Time Original              : 2013:03:09 08:59:50
Create Date                     : 2013:03:09 08:59:50

这看起来很有用,但在内部exiftool使用Perl变量作为字段/标记,我想获得变量名,以便稍后进行比较,所以我添加了-s:

exiftool -s image.jpg | grep -i date
FileModifyDate                  : 2021:01:14 10:51:38+00:00
FileAccessDate                  : 2021:01:14 10:51:40+00:00
FileInodeChangeDate             : 2021:01:14 10:51:38+00:00
ModifyDate                      : 2013:03:09 08:59:50
DateTimeOriginal                : 2013:03:09 08:59:50
CreateDate                      : 2013:03:09 08:59:50

好的,我想你想要FileModifyDateDateTimeOriginal,所以让我们检查一下我们可以打印它们:

exiftool -p '$Filename, $FileModifyDate, $DateTimeOriginal'  image.jpg
image.jpg, 2021:01:14 10:51:38+00:00, 2013:03:09 08:59:50

请注意,必须在macOS/Linux上使用单引号,否则bashshell会尝试展开变量,但它会展开为空-除非您碰巧有一个名为DateTimeOriginalbash变量。我想你必须在Windows上使用双引号,因为它通常不理解单引号。


这很好,但你对小时、分钟和秒不感兴趣,所以我们可以改变exiftool考虑日期的方式,用-d:只看年、月和日

exiftool -d %F -p '$Filename, $FileModifyDate, $DateTimeOriginal'  image.jpg 
image.jpg, 2021-01-14, 2013-03-09

现在我们想用if语句检查它们是否相同(对于所有JPEG文件(,并且只打印"不快乐">文件:

exiftool -d %F -if '$FileModifyDate !~ $DateTimeOriginal' -p '$FileName' *.jpg
image.jpg
iphone.jpg
2 files failed condition

如果您对Perl这样的字符串比较有点不安,可以使用awk进行测试和打印,如下所示:

exiftool -d %F -p '$Filename, $FileModifyDate, $DateTimeOriginal' *.jpg | awk -F, '$2 != $3{print $1}'

注意,以上仅执行单个exiftool过程。我认为您可能希望避免对每个文件都运行exiftool的全新进程,所以不要这样做:

find ... -iname "*.jpg" -exec exiftool ... {} ;

我认为您可以使用-r递归到子目录中,但我还没有尝试过。


顺便说一句,在macOS上,您可以使用自制程序最简单地安装exiftool

brew install exiftool

关键字:exiftool,创建日期。修改日期,EXIF日期,匹配,不匹配,照片,照片,prime。

最新更新