Exclua todo o jpg em uma pasta que seja menor que a largura / altura específica [duplicada]

4

Eu restaurei com o photorec cerca de 7.500 jpg's. Eu movi todos eles em uma pasta. Uma grande parte deles é miniaturas. Mas eu não posso simplesmente ir e excluir vamos dizer todos eles que são menores que X bytes, porque eu tenho algumas fotos antigas que foram tiradas de telefones mais antigos. Então, há polegares que são 15KBs e também fotos regulares de aproximadamente o mesmo tamanho, mas com resolução maior (dimensões).

Então eu quero uma maneira de remover aqueles que são menores que x pixels de largura, por exemplo. Isso pode ser feito a partir do terminal?

Obrigado.

    
por Christos Baziotis 21.10.2013 / 14:04

1 resposta

1

O comando imagemagick identify permite que você encontre o tamanho em uma linha de comando:

1015 % identify YearbookPhoto.jpg 
YearbookPhoto.jpg JPEG 349x395 349x395+0+0 8-bit sRGB 13.5KB 0.000u 0:00.000b

Eu hesito em dar um exemplo, pois essa tarefa parece precisar de orientação humana, mas eu automatizaria cada passo. Por exemplo, para obter uma lista de imagens com tamanho:

find . -type f -exec identify \{\} \; | awk '{print $1, $3}' > ../somefile

Você precisará de um programa para analisar as dimensões "NxM" e decidir quais nomes de arquivos serão excluídos. Talvez, em vez de excluir, mova os arquivos para um diretório temporário, para que você possa inspecionar os resultados e recuperar qualquer coisa que tenha sido movida por engano.

    
por 21.10.2013 / 14:21