Как стать автором
Обновить

Комментарии 8

ахахах. спец. олимпиада на хабре!
ждем LNСПеров!
Теперь за любым представленным алгоритмом чего-то будет плестись шлейф из десятка постов по реализации на разных ЯП?
Я бы по файлам бегал так: Dir.glob(«путь/**/*.{jpg,png,gif}») {|image|… }
По-моему для этого достаточно скрипта на bash'е, с использованием того же ImageMagick.

identify -verbose test.png | grep Resolution | awk '{ print $2 }'

Вот оно, название папки из размера картинки, все очень просто.
Про Resolution ошибся, каюсь. Надо брать Geometry, в итоге примерно так (не бейте, я не великий bash-скриптер):

#!/bin/sh

if [ -z ${1} ]; then
        echo Give me a path in param
        exit
fi

for File in `find ${1} -type f -name '*'`; do
        if file ${File} | grep "image" > /dev/null 2>&1; then
                Dir=`identify -verbose ${File} | grep Geometry | cut -d ' ' -f4 | cut -d '+' -f1`

                if [ ! -d ${Dir} ]; then
                        mkdir ${Dir}
                fi

                cp ${File} ${Dir}
        fi
done
запаздал, но
/Users/andoriyu/.homebrew/Cellar/ruby/1.9.1-p378/lib/ruby/1.9.1/fileutils.rb:243:in `mkdir': No such file or directory — ~/Pictures/Wallpapers_sorted (Errno::ENOENT)
from /Users/andoriyu/.homebrew/Cellar/ruby/1.9.1-p378/lib/ruby/1.9.1/fileutils.rb:243:in `fu_mkdir'
from /Users/andoriyu/.homebrew/Cellar/ruby/1.9.1-p378/lib/ruby/1.9.1/fileutils.rb:172:in `block in mkdir'
from /Users/andoriyu/.homebrew/Cellar/ruby/1.9.1-p378/lib/ruby/1.9.1/fileutils.rb:171:in `each'
from /Users/andoriyu/.homebrew/Cellar/ruby/1.9.1-p378/lib/ruby/1.9.1/fileutils.rb:171:in `mkdir'
from /Users/andoriyu/img.rb:9:in `image_sort'
from /Users/andoriyu/img.rb:36:in `'
попробуйте полный пусть к папке /home/NAME/..../
«пусть» = «путь»
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории