Execute isso a partir de um terminal (funciona para imagens PNG e GIF):
file *.{png,gif}
Isso funciona porque o comando file
mostra as dimensões da PNG e imagens GIF, bem como algumas outras informações. Seu shell expande *.{png,gif}
para uma lista de nomes de arquivos, e o comando file
aceita vários argumentos de nome de arquivo. Parece assim:
btvs-cordelia-probable-syntax-error.png: PNG image data, 1920 x 1080, 8-bit/color RGB, non-interlaced
cross.png: PNG image data, 1039 x 611, 8-bit/color RGB, non-interlaced
Observe que as colunas estão alinhadas, então o espaço extra é usado se alguns nomes forem muito mais longos que outros. Se você não quiser isso, use a opção -N
:
file -N *.{png,gif}
Isso fornece linhas como essa, que não ocupam mais espaço, mas não estão mais alinhadas:
btvs-cordelia-probable-syntax-error.png: PNG image data, 1920 x 1080, 8-bit/color RGB, non-interlaced
cross.png: PNG image data, 1039 x 611, 8-bit/color RGB, non-interlaced
No caso raro em que você tem muitos milhares de arquivos de imagem, seus nomes podem exceder o tamanho máximo do argumento combinado, e o shell fornecerá uma mensagem de erro. Nesse caso, você poderia usar um loop como este:
for f in *.{png,gif}; do file "$f"; done
Isso produz os mesmos resultados que file -N
porque, como file
só conhece um arquivo por execução, ele não sabe quanto tempo os outros nomes de arquivo são e não pode alinhar as colunas.
Para outros tipos de imagem, consulte a resposta da ypnos para Maneira rápida de obter dimensões de imagem (não tamanho de arquivo) .