Использование identify
из ImageMagick:
#! /bin/sh
identify -format '%w %h %i\n' -- "$@" 2>/dev/null | \
while read W H FN; do
if [ $W -gt $H ]; then
echo mv -f -- "$FN" /path/to/landscape/
else
echo mv -f -- "$FN" /path/to/portraits/
fi
done
Это не особенно эффективно, потому что оно запускает mv
для каждый файл, но вы не просили об эффективности.