Encontre as maiores dimensões de imagem na pasta

3

Eu preciso de um comando que me permita pesquisar uma pasta de imagens para as imagens com a maior largura e a maior altura. A partir de agora, estou usando o XNViewMP para encontrar essa informação, mas gostaria de uma maneira mais rápida de usar um comando ou uma Ação Personalizada Thunar.

ATUALIZAÇÃO: Existem algumas boas soluções para isso usando as ações personalizadas do Thunar: link

O último na segunda página que usa o YAD é o melhor que encontrei.

    
por user8547 14.09.2014 / 16:13

1 resposta

5

Para usar identify de ImageMagic com classificação, vamos alterar o formato de saída para facilitar:

Queremos ordenar a largura ou a altura, pelo que devem ser fáceis de resolver como campo de chave de ordenação. Para produzir largura e altura como as duas primeiras colunas e, em seguida, o nome do arquivo, usamos "%w %h %f\n" .

A lista resultante de linhas do formulário w h somefile.png é então classificada numericamente ( -n ) na primeira coluna, na largura ou na segunda coluna, na altura.
Classificamos reversa ( -r ) para que o valor de larges apareça primeiro:

Classificando por largura na primeira coluna:

identify -format "%w %h %f\n" *.png | sort -n -r -k 1

Classificação por altura, que está na segunda coluna:

identify -format "%w %h %f\n" *.png | sort -n -r -k 2

A parte da linha após o segundo espaço é apenas o nome do arquivo, portanto, não precisamos escapar dela; Apenas o corte das duas colunas fornece um nome de arquivo limpo (contanto que os nomes não contenham novas linhas).

Se você não estiver interessado em toda a lista, mas apenas em alguns dos arquivos maiores, use head no resultado:

identify -format "%w %h %f\n" *.png | sort -n -r -k 2 | head -n 3

Quando mostramos apenas o arquivo ou arquivos maiores, talvez não nos importemos mais com o tamanho, mas precisemos dos nomes de arquivos limpos:

identify -format "%w %h %f\n" *.png | sort -n -r -k 2 | head -n 3 | cut -d ' ' -f 3-  
    
por 15.09.2014 / 04:56

Tags