Это переместит все файлы jpg, png или gif размером 1920x1080 из текущего каталога в targetdir:
#!/bin/bash
shopt -s nullglob
for fname in *.jpg *.png *.gif
do
    read width height < <(exiv2 "$fname" 2>&1 | awk '/^Image size/{print $4,$6}')
    [ "$width" ] || continue
    [ "$width" -eq 1920 ] && [ "$height" -eq 1080 ] && mv "$fname" targetdir/
done
Это просматривает текущий каталог и удаляет все изображения jpg, png или gif шириной менее 1600:
#!/bin/bash
shopt -s nullglob
for fname in *.jpg *.png *.gif
do
    read width height < <(exiv2 "$fname" 2>&1 | awk '/^Image size/{print $4,$6}')
    [ "$width" ] || continue
    [ "$width" -lt 1600 ] && rm "$fname"
done
При этом используется утилита захвата изображения exiv2 .  В Debian-подобной системе exiv2 можно установить, запустив apt-get install exiv2 .  С незначительными изменениями, аналогичными утилитами, такими как ImageMagick - х identify могут быть использованы.
Этот скрипт требует bash .
Как это устроено
- shopt -s nullglob
 - Игнорировать отсутствующие типы файлов. 
- for fname in *.jpg *.png *.gif; do
 - Это запускает цикл для всех файлов в каталоге, имена которых заканчиваются на - .jpg,- .pngи- .gif.
 
- read width height < <(exiv2 "$fname" 2>&1 | awk '/^Image size/{print $4,$6}')
 - Это использует утилиту - exiv2для извлечения размера изображения.  Поскольку- exiv2производит несколько строк вывода,- awkиспользуется для выбора необходимой нам информации.
 
- [ "$width" ] || continue
 - Если мы не восстановили размер изображения из приведенной выше команды, пропустите этот файл.  Это произойдет, если, например, файл на самом деле не был файлом изображения. 
- [ "$width" -lt 1600 ] && rm "$fname"
 - Если ширина изображения соответствует нашему условию, выполните - rmчтобы удалить файл.
 
- done
 - Это сигнализирует об окончании цикла.