Você pode usar identify
from imagemagick
e você pode usar o seguinte comando:
find . -iname "*.jpg" -type f -exec identify -format '%w %h %i' '{}' \; | awk '$1<300 || $2<300'
o uso de -exec <command> '{}' \;
garante que seu nome de arquivo possa ter espaços, ou você pode usar
find . -iname "*.jpg" -type f | xargs -I{} identify -format '%w %h %i' {} | awk '$1<300 || $2<300'
onde o -I{}
cuida da mesma coisa.
O que eu gosto identify
é que você pode especificar o formato de saída; neste caso, '%w %h %i'
que fornece a largura, altura e nome do caminho completo da imagem. Em seguida, a awk
expressão mantém apenas as linhas para as quais a imagem é menor que o tamanho desejado.
Exemplo da saída:
64 64 ./thumbsup.jpg
100 150 ./photomin.jpg
Editar: se você deseja apenas os nomes dos arquivos (para canalizar, rm
por exemplo), basta alterar $line
a awk
instrução para $3
, então ela imprimirá apenas a terceira coluna.
| awk '$1<300||$2<300'
ou| awk '$1<300||$2<300{print $3}'
(quando apenas a terceira coluna for necessária).'%w %h %i\n'
) para fazê-la funcionar para mim.| xargs -I {} mv {} /destination/directory/
Acho que a resposta aceita é muito boa, mas queria acrescentar outra solução possível ...
Embora eu mesmo use as
ImageMagick
ferramentas com mais frequência agora,netpbm
sou um velho amigo para processar imagens. Você pode ver o tamanho de qualquer formato de imagem com o comando:Isso irá gerar uma saída parecida com:
Para responder à pergunta "o que segue depois do tubo?", Uso com
while read
mais frequência do que uso,xargs
porque é mais flexível. Minhanetpbm
resposta para a pergunta é assim:fonte
Isso funcionou para mim:
Esta é a amostra de saída:
./2520161636481000.png 75x75
./2620160819191100.png 75x75
./2420181545550700.png 75x75
fonte
O
identify
comando doimagemagick
pacote faz o que você deseja:Novamente, você precisaria usar
grep
para classificar o tamanho da imagem.No entanto, suspeito que, a menos que você tenha uma variedade muito grande de tamanhos de imagem, seria mais fácil usar apenas
find
para remover arquivos JPEG abaixo de um determinado tamanho:(Vale a pena correr sem
-delete
primeiro verificar se não encontra as coisas que você deseja manter - não será solicitado antes da exclusão).fonte