技术技巧:按日期自动整理您的照片

作者:Zsolt Hajdu

现在夏天已经结束,您的数码相机里装满了照片,您该如何整理它们呢?当然是在命令行中进行!这里提供的脚本会自动将它们按日期整理到子目录中。

当我的数码相机拍满照片后,通常是在几个星期或几个月后,我会将它们下载到我的 Ubuntu 系统中。通常它们最终都会放在一个目录中。我发现按照片的拍摄日期对其进行排序更有帮助:大多数时候我想对它们进行地理标记,而且通常同一天拍摄的照片很可能是在同一地点拍摄的。

以下简短的脚本会遍历当前目录中的 .jpg 文件,并获取每张图像中存储的日期。然后,它会创建一个与日期对应的目录(如果该目录不存在),格式为 年/月/日(全部为数字),并将图像复制到该目录中。因此,例如,一张在 2009 年 7 月 4 日拍摄的名为 IMG_001.jpg 的照片最终会位于路径 2009/07/04/IMG_001.jpg 下。

该脚本需要 IMageMagick 包,但在最新的发行版中这应该不是问题。

#!/bin/sh

# Goes through all jpeg files in current directory, grabs date from each
# and sorts them into subdirectories according to the date
# Creates subdirectories corresponding to the dates as necessary.

for fil in *.jpg  # Also try *.JPG
do
    datepath="$(identify -verbose $fil | grep DateTimeOri | awk '{print $2 }' | sed s%:%/%g)"
    if ! test -e "$datepath"; then
        mkdir -pv "$datepath"
    fi

    mv -v $fil $datepath
done

加载 Disqus 评论