一般一个月一次整理孩子的照片。但是老婆的手机和单反拍出来的照片,文件名都不统一。要统一采用拍照时间做为文件名的话,比较麻烦。本来想用Python3写个脚本处理的,但是官方没有提供获取EXIF信息的方法。找打其它包,也不怎么好用。但是今晚发现原来有个shell命令挺好用的,就是 EXIF。

于是就写了个shell脚本,如下:

#!/bin/bash

path=/home/fox/pics

i=$(ls $path/*.JPG)

for j in $i
do
  d=$(exif -t "DateTime" $j | grep Value)
  d=${d/  Value: /IMG_}
  d=${d//:/}
  d=${d// /_}
  $(mv $j ${d}.JPG)
done

这里采用的统一文件名格式是IMG_yyyyMMdd_HHmmss.jpg。由于采用字符串替换的语法,所以只能用bash运行。

标签: exif, bash

添加新评论