Вы можете использовать exiftool или ImageMagick , где последний является значительно большей установкой.
С exiftool :
exiftool -p '${filename}:${ImageWidth}:${ImageHeight}' -q -f *ppm
Пример вывода
P3.ppm:100:100
P6.ppm:100:100
extracted-000.ppm:544:149
extracted-001.ppm:185:116
extracted-002.ppm:185:116
extracted-003.ppm:265:609
result.ppm:64:64
savedP3.ppm:64:64
savedP6.ppm:64:64
Я понимаю, что это не показывает количество каналов, но, возможно, достаточно добавить ${MIMEType}
в конец списка и вы получите image/x-portable-graymap
или image/x-portable-pixmap
, что может быть достаточно для ваших нужд.
С ImageMagick , который включен в большинство Linux дистрибутивов и доступен для macOS и Windows. Только в Терминале:
magick identify -format "%f:%w:%h:%[colorspace]\n" *ppm *pgm
Пример вывода
P3.ppm:100:100:sRGB
P6.ppm:100:100:sRGB
extracted-000.ppm:544:149:sRGB
extracted-001.ppm:185:116:sRGB
extracted-002.ppm:185:116:sRGB
extracted-003.ppm:265:609:sRGB
result.ppm:64:64:sRGB
savedP3.ppm:64:64:sRGB
savedP6.ppm:64:64:sRGB
a.pgm:33:16:Gray
Вы также можете указать битовую глубину, разрешение по оси x, разрешение по оси y, количество цветов и так далее, отметив доступные Escapes .
Он будет работать и для JPEG, PNG, TIFF, TGA, GIF и 260 других форматов. Если вы все еще используете старую версию v6, команда будет выглядеть так:
identify -format "%f:%w:%h:%[colorspace]\n" *ppm *pgm