Batch Rename Using Shell Script
一般一个月一次整理孩子的照片。但是老婆的手机和单反拍出来的照片,文件名都不统一。要统一采用拍照时间做为文件名的话,比较麻烦。本来想用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运行。