identify -format '%w %h %f\n' *.jpg | awk 'NF==3&&$1<500&&$2<500{print $3}' | xargs -r rm
Команда identify -format '%w %h %f\n' *.jpg | awk 'nf==3&&$1<500&&$2<500{print $3}' | xargs -r rm
позволяет удалить изображения в формате *.jpg, размеры которых меньше 500×500 пикселей.
Пояснение по каждой части команды:
— identify -format '%w %h %f\n' *.jpg
— используется утилита identify
для получения информации о размерах изображений в формате *.jpg. Указанный формат ‘%w %h %f\n’ означает, что будут отображены ширина (width), высота (height) и имя файла (file name).
— awk 'nf==3&&$1<500&&$2<500{print $3}'
— выполнится скрипт awk
, который фильтрует только те строки, в которых присутствуют три поля (nf==3) и значения ширины и высоты не превышают 500 (&&$1<500&&$2<500). Далее выводится только третье поле (имя файла).
— xargs -r rm
— используется утилита xargs
для передачи списка файлов в качестве аргумента команде rm
, которая удаляет выбранные файлы.
Альтернативные способы могут включать использование других утилит, например, find
для поиска файлов и convert
для изменения размеров изображений. При использовании альтернативных способов следует учесть необходимость вручную настройки дополнительных параметров для обработки файлов данного формата.