系统相关
首页 > 系统相关> > linux – 根据文件EXIF创建日期将数千个jpg文件移动到每日目录中

linux – 根据文件EXIF创建日期将数千个jpg文件移动到每日目录中

作者:互联网

我有成千上万的jpg和mp4需要排序到一个目录结构,该结构的名称基于图片的创建日期.优选地,从EXIF日期起,文件修改日期可能是关闭的.但如果获得EXIF日期是很多工作,我最好使用修改日期

所以,

> file1拍摄2014-06-30
> file2拍摄2014-07-01
> file3拍摄2014-06-30

被移入目录

> / 140630 / file1
> / 140701 / file2
> / 140630 / file3

我正在使用OS X Yosemite作为Unix.

解决方法:

您可以安装ImageMagick并使用带-verbose的识别工具,例如:

for f in *.jpg *.jpeg *.JPG *.JPEG *.mp4 *.MP4; do
  echo $f
  identify -verbose "$f"|grep exif:DateTime
  echo
done

Kepler22b-artwork.jpg

Kepler-62f_with_62e_as_Morning_Star.jpg
    exif:DateTime: 2013:04:08 10:45:44

logo.jpg

P1050030.JPG
    exif:DateTime: 2013:11:01 22:59:27
    exif:DateTimeDigitized: 2013:10:31 23:39:55
    exif:DateTimeOriginal: 2013:10:31 23:39:55

P1070322.JPG
    exif:DateTime: 2014:07:14 10:48:43
    exif:DateTimeDigitized: 2014:07:14 10:48:43
    exif:DateTimeOriginal: 2014:07:14 10:48:43

对不起,这不是一个完整的解决方案,但如果您熟悉bash或Python等脚本语言,则可以轻松编写脚本来解析此输出并确定将每个文件放入哪个文件夹.

正如您所看到的,一些文件有3个DateTime字段,有些没有,所以您可能需要手动处理一些文件,或者使用文件修改时间作为后备.

标签:linux,shell-script,osx
来源: https://codeday.me/bug/20190817/1673195.html