Lonely Dreamer (sanmai) wrote,
Lonely Dreamer
sanmai

Раскладываем фотографии по датам из EXIF

Скрипт для копирования фотографий по датам. Используется в связке с find.
Для работы необходим exiftool.
Может работать с любыми файлами, понимаемыми exiftool, в том числе с видео.
Используется примерно так:
 $ find DCIM -type f | exifcopy.sh Photos
DCIM/img_4688.cr2 -> Photos/2008/2008-10/2008-10-04/Canon_EOS_5D/img_4688.cr2
DCIM/img_4798.cr2 -> Photos/2008/2008-10/2008-10-04/Canon_EOS_5D/img_4798.cr2
DCIM/img_4797.cr2 -> Photos/2008/2008-10/2008-10-04/Canon_EOS_5D/img_4797.cr2
Код скрипта:
#!/bin/bash
DESTDIR="$1";

while read SRCNAME; do 
NEWNAME=`exiftool -s -S -d "%Y/%Y-%m/%Y-%m-%d" -DateTimeOriginal -TrackModifyDate -Model "$SRCNAME"`
if [ -z "$NEWNAME" ]; then continue; fi;
NEWNAME=`echo $NEWNAME | sed "s/ DIGITAL//" | tr " " _ | tr "\n" /; basename "$SRCNAME" | tr " " _`

NEWDIR=`dirname "$NEWNAME"`
mkdir -p $DESTDIR/$NEWDIR
DESTNAME=$DESTDIR/$NEWNAME

if [ ! -e "$DESTNAME" ]; then cp -v "$SRCNAME" $DESTNAME; 
else echo Unable to copy $SRCNAME - destination file exists; echo Destination: $DESTNAME; echo; fi; 
done;
Программу несложно модифицировать под свои нужды, заменив, к примеру, cp на mv.
Принимаются пожелания и дополнения.
Tags: linux, useful, про фото
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 6 comments