У меня есть несколько гигабайтов цифровых фотографий, собранных за эти годы в различных каталогах. Моя текущая потребность состоит в том, чтобы искать фотографии в режиме портрета по сравнению с альбомным режимом. Я пытаюсь записать сценарий оболочки с помощью find
и exif
команды, чтобы видеть, могу ли я получить список изображений.
Режим портрета exif
информация показывает, что тег "Пиксель Y Размер" больше, чем "Пиксель X Размеров"
Мне удалось заставить правильные команды получать ширину и высоту изображений:
exif -t 0xa002 image.jpg | grep Value | cut -d' ' -f 4 #Width
exif -t 0xa003 image.jpg | grep Value | cut -d' ' -f 4 #Height
Как я мог объединить это с find
управляйте так, чтобы я мог найти изображения, где высота больше, чем ширина?
И, есть ли какой-либо способ, как который я могу сделать это более универсальным - находят фотографии с определенной датой (в exif данных) или значения exif?
Мы можем использовать измененную версию этого ответа: Как найти все изображения с определенным размером пикселя с помощью командной строки?
find . -iname "*.jpg" -type f -exec identify -format '%w %h %i' '{}' \; | awk '$1<$2'