技术技巧:按日期自动整理您的照片
发表于 2009 年 10 月 7 日
现在夏天已经结束,您的数码相机里装满了照片,您该如何整理它们呢?当然是在命令行中进行!这里提供的脚本会自动将它们按日期整理到子目录中。
当我的数码相机拍满照片后,通常是在几个星期或几个月后,我会将它们下载到我的 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