remover imagens com baixa resolução

1

Gostaria de saber se existe uma maneira de excluir recursivamente as imagens de um diretório, que tem resolução menor do que eu desejo, usando ferramentas de linha de comando (Fedora 19)?

Por exemplo, quero manter imagens com pelo menos 3000px na horizontal e 2000px na vertical e excluir outras.

shomel
fonte

Respostas:

0

Aqui está uma bashsolução puramente possível , dependendo do comando identifyde ImageMagickpara dizer a resolução da imagem:

( 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

No entanto, eu totalmente fazer um backup primeiro e depois usar algo mais poderoso para analisar (e verificar novamente) a saída identifyantes de excluir automaticamente arquivos, como perl.

O vee
fonte