LINUX.ORG.RU

как искать картинки по разрешению?

 , , ,


0

2

можно ли как-то и чем-то без дзена найти через консоль графические файлы с разрешением, допустим, <= 200px по обоим сторонам?
ессно начиная от заданного каталога - с рекурсией по всем вложенным

задача из серии рабочей рутины, то есть просто получить список файлов для вставить куда-то (не подпрограмма для вызовов извне)

если нельзя через консоль, готов поставить какие-то дополнительные программы с хорошей скоростью работы

Ответ на: комментарий от man_of_motley

не возражаю против питона
а можно пример например?
я с файлами в нем не работал, сейчас на гуглеж и деббагинг не особо времени

MinasFilm
() автор топика
find /image/dir -type f -name '*.jpg' -print0 | xargs -0 -L1 -I{} identify -format "%f %w %h\n" {} | awk '$2<=200 && $3 <= 200 {print $1}'
anonymous
()
Ответ на: комментарий от anonymous

Упрощение небольшое

find /image/dir -type f -name '*.jpg' -print0 | xargs -0 identify -format "%f %w %h\n"| awk '$2<=200 && $3 <= 200 {print $1}'

И ваблон «*.jpg» распространить на пр. картинки

anonymous
()
Ответ на: комментарий от MinasFilm
find /image/dir -type f -name '*.jpg' -print0 | xargs -0 identify -format "%i %w %h\n"| awk '$2<=200 && $3 <= 200 {print $1}'

P.S. если в путях/названиях файлов есть пробелы, то скрипт поломается.

tiandrey ★★★★★
()
Последнее исправление: tiandrey (всего исправлений: 1)
Ответ на: комментарий от tiandrey

Этот не сломается:

find /image/dir -type f -name '*.jpg' -print0 | xargs -0 identify -format "%w %h %i\n"| while read w h p; do [ -n "$w" -a -n "$h" ] && [ "$w" -le 200 -a "$h" -le 200 ] && echo "$p"; done

tiandrey ★★★★★
()
Ответ на: комментарий от anonymous

Не катит, во-первых, на последней строчке ошибка

awk: cmd. line:1: (FILENAME=- FNR=550) fatal: attempt to access field -1
Во-вторых, выводит в конце каждой строчки два пробела; в-третьих, несколько пробелов подряд заменяет на один.

tiandrey ★★★★★
()
Ответ на: комментарий от tiandrey
| awk '$(NF-1)<=200 && $NF <= 200 {print}' | sed 's/ [0-9]* [0-9]*$//'

Не проверял

anonymous
()

спрашиваешь разрешение

ищешь

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.