Использует утилиту fileinfo
для получения ширины и высоты изображения. Если высота больше ширины, файл перемещается в каталог portraits /
. В противном случае он перемещается в каталог landscape /
.
for f in ./*jpg
do
if fileinfo "$f" 2>&1 | awk '/w =/{w=$3+0; h=$6+0; if (h>w) exit; else exit 1}'
then
mv "$f" portraits/
else
mv "$f" landscape/
fi
done
Имя файла в этом цикле при необходимости заключено в двойные кавычки, чтобы этот цикл можно было безопасно использовать даже для имен файлов изображений с пробелами, новой строкой или другими сложными символами.
В системе, подобной debian, fileinfo
можно установить через:
apt-get install leptonica-progs
Можно использовать другие подобные утилиты, если команда awk изменена соответствующим образом.