如何在Linux命令行中从JPEG获取日期和时间?

时间:2019-07-07 00:03:08

标签: linux jpeg archive

过去15年中,我拍摄了数千张数码照片。不幸的是,我的存档存在一些问题:

  • 文件夹包含同一张照片的副本,但名称可能不同。
  • 某些相机会重设编号,例如IMG_9999.jpg恢复为零,因此如果我将它们全部复制到命名目录中,则会存在命名冲突。
  • 我有多台摄像机,所以某些文件具有相同的名称,但主题不同。
  • 所有都是JPEG,尽管它们来自五台不同的相机,但使用了很多年,因此JPEG的格式可能会有一些差异。

我的解决方案是将多个存档文件夹中的所有图像复制到一个输出文件夹中,并通过降低日期和时间来命名它们,并从文件中提取数据,再加上文件的sha1sum:

2012-04-01_16:34_87514f3c2734f963891089cef0bb547f5d36451f.jpg

通过这种方式,副本将被删除,同一张照片的多个副本将不存在。

#!/bin/bash

for i in *.jpg
do
    date=`echo "2019-08-10"`
    checksum=`sha1sum $i | awk -F" " '{ print $1}'`
    cp $i OUT/$date\_$checksum\.jpg
    echo "Copied "$i" to OUT/"$date\_$checksum\.jpg"."
done

我在上面创建了此脚本,该脚本通过sha1sum设法将文件复制到另一个文件夹。如何准确获取照片的拍摄日期和时间,以便也可以将数据添加到文件名中?

0 个答案:

没有答案