Как-то так получилось, что на домашней файло-помойке скопилось 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%, я уменьшил меру Хаоса на одной отдельно взятой файло-помойке.
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%, я уменьшил меру Хаоса на одной отдельно взятой файло-помойке.