Генерация превьюшек по списку директорий

Материал из Lblss.ru
Перейти к: навигация, поиск
#!/usr/local/bin/bash
 
##############################################################
# Скрипт для изготовления превьюшек по списку директорий
# Из списка берется директория, по ней генерятся все превьюшки,.
# учитывая ве вложенные директории.
# Использует ImageMagick http://www.imagemagick.org/Usage/
# dirlist - файл со списком директорий (по одной директории на строку)
# base - директория, откуда плясать (родительская для списка)
# thumbnail - директория, куда поместить превьюшки
#############################################################
 
base='/mnt/media'
thumbnail='/mnt/media/tmb'
dirlist='photolist'
 
 
IFS=$'\n'
 
while read dirline
do
    echo -- $dirline
    cd "$base/$dirline"
    find . -type f -iname "*.jpg" | \
    while read fname
    do
        fname=${fname/.\//} # убрать точку в начале, что осталась после find
        inputfile="$base/$dirline/$fname" # исходный файл
        outfile="$thumbnail/$dirline/$fname" # результирующий файл
        outdir=`dirname "$outfile"` # директория результирующего файла
        echo $inputfile
        echo $outfile
        echo
        mkdir -p $outdir # создание директории результирующего файла
        convert $inputfile -resize 200x200 -quality 100% $outfile # конвертация
    done
 
done <$dirlist
Персональные инструменты