
Допустим, есть 50 изображений, и я хочу узнать, какое из них имеет наибольшую ширину. Какие команды мне использовать?
решение1
Эта команда (определена из ImageMagick) выводит изображение с наибольшей шириной:
identify -format "%w %h %f\n" *.png | sort -n -r -k 1 | head -n 1
-формат "%w %h %f = ширина, высота, имя файла
Результат: wh image.png
Источник: Найти самые большие размеры изображения в папке: https://unix.stackexchange.com/questions/155544/найти-самые-большие-размеры-изображения-в-папке
Если ваши изображения находятся не в одной папке, откройте терминал и запустите этот скрипт из папки, содержащей подкаталоги.
find . -iname "*.png" -type f -exec identify -format "%w %h %f\n" '{}' \; | sort -n -r -k 1 | head -n 1
Примечание: Если у вас есть более одного изображения с одинаковой шириной, будет показан только один результат. Чтобы получить список всех изображений, отсортированных по ширине, удалите head -n 1 из команды precernt.
решение2
Эта команда выполнит поиск ширины изображения в текущем каталоге.
Прежде чем устанавливать imageinfo, выполните следующие действия:
sudo apt install imageinfo
Затем введите эту команду
find . -maxdepth 1 -type f -iregex ".*/.*\.\(jpg\|jpeg\|png\|tiff\|bmp\svg\)" \
-exec bash -c "echo -ne {}' '; imageinfo --width {}; echo " \;\
| sort -k2 -n
Если вам нужен только самый большой, добавьте вертикальную черту к команде выше.
... | tail -n 1