Pull to refresh

Еще один глупый скрипт для сортировки фотографий по EXIF под *nix

Lumber room
Как-то так получилось, что на домашней файло-помойке скопилось 20Гб фотографий в не отсортированном виде. Причем, если в последнее время я и дочка пользуемся EOS Utility и она аккуратно складывает фотографии по годам/месяцам/дням, то все фотографии ранее и с других фотоаппаратов просто сваливались в различные поддиректории. Соответственно захотелось причесать этот бардак, для чего был и сделано следующее:

1. Установлен пакет exifprobe (Он читает информацию об EXIF )
2. Написан скриптик «sort_by_exif_date.sh»:
#!/bin/bash
if [ -f "${1}" ]
then
CurrDate=`/usr/bin/exifprobe -L "${1}" | awk 'BEGIN {DateTime=""} /DateTime/{DateTime=$3} END{print DateTime}' | sed s/\'//g`
ToPath=`echo ./${CurrDate}/ | sed 's/:/\//g'`
if [ "$CurrDate" = "" ]
then
ToPath="./Unknown/"
fi

mkdir -p ${ToPath}
mv "${1}" ${ToPath}
Cmd=""${1}" To ${ToPath}"
echo ${Cmd}
fi

3. Запущено вот такое:
find. -path "./200[1234567890]" -prune -o -exec ~/bin/sort_by_exif_date.sh {} \;
4. И почищены пустые директории (удалились только пустые):
find. -type d -exec rmdir "{}" \;


В результате все фотографии, имевшии exif информацию, разложились по папочкам, все неопознанное упало в папку Unkonown.

Таким образом, о добрый %USERNAME%, я уменьшил меру Хаоса на одной отдельно взятой файло-помойке.
Tags: EXIFbashfindunixlinix
Hubs: Lumber room
Total votes 54: ↑42 and ↓12 +30
Comments 29
Comments Comments 29

Popular right now

Top of the last 24 hours