1

Интересно, есть ли способ рекурсивного удаления изображений из каталога с разрешением, меньшим, чем я желаю, с использованием инструментов командной строки (Fedora 19)?

Например, я хочу сохранить изображения размером не менее 3000 пикселей по горизонтали и 2000 пикселей по вертикали и удалить любые другие.

1 ответ1

0

Вот возможное решение, основанное исключительно на bash , в зависимости от команды identify из ImageMagick для определения разрешения изображения:

( find . -type f | xargs identify ) | while read i
do
  fn1=${i%%[*}
  fn=${i%% *}
  tail=${i#* * }
  size=${tail%% *}
  xsize=${size%%x*}
  ysize=${size##*x}
  if [[ ( $xsize -le 3000 ) || ( $ysize -le 2000 ) ]]
  then
    rm "$fn"
  fi
done

Однако сначала я бы полностью сделал резервную копию, а затем использовал бы что-то более мощное, чтобы проанализировать (и перепроверить) вывод identify перед автоматическим удалением файлов, например, perl .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .