Следующая команда вернет информацию, которую вы ищете:
identify -format "%f %d %m %b %w %h\n" ./* ./*/*
- Экранирующая последовательность для файлового каталога:
%d
.
- Чтобы включить все файлы в текущую папку, используйте
./*
(подстановочный знак оболочки).
- Чтобы включить все файлы во все подпапки, используйте
./*/*
(подстановочные знаки оболочки).
(Вы не сказали, в какой операционной системе вы находитесь. Вышеуказанное будет работать для Linux, Unix и Mac OS X. Для Windows используйте .\*.*
и .\*.*\*.*
как джокеры.)
Внимание! Если в ваших папках есть файлы без изображений или документы PDF, эта команда может выполняться довольно долго. Файлы, не относящиеся к изображениям, выдают сообщение об ошибке, подобное
identify: no decode delegate for this image format `EXE' @ error/constitute.c/ReadImage/501.
Этого можно избежать, перенаправив все сообщения об ошибках в /dev/null
.
Так что может быть лучше использовать этот вариант:
identify \
-format "%f %d %m %b %w %h\n" \
*.{jpg,jpeg,JPG,png,tif,tiff,ppm,gif} \
*/*.{jpg,JPG,jpeg,png,tif,tiff,ppm,gif} \
2>/dev/null
Вот пример из Mac OS X:
delta.jpg #12649876 JPEG 17441B 307 205
CMYK_separation_–_maximum_black.jpg #21270389 JPEG 1453360B 1600 4780
HFnCz.jpg #21270389 JPEG 356748B 1600 1195
combined.jpg #21270389 JPEG 528221B 1600 1195
res.jpg #26408022 JPEG 57546B 603 300
red-500x2000.jpg #26951336 JPEG 6288B 500 2000
resized-red-2000x2000.jpg #26951336 JPEG 7430B 1000 1000
big-edge-25.jpg #27290574 JPEG 98916B 1024 288
big.jpg #27290574 JPEG 19216B 1024 576
double.jpg #27290574 JPEG 35076B 480 270
small.jpg #27290574 JPEG 20716B 720 404
(Да, я выполнил эту команду в каталоге с подкаталогами с именами #27290574
, #26951336
и аналогичными ....)
Возможно, вы захотите, чтобы вывод выглядел более как таблица. Для этого передайте результаты через column -t
. Попробуйте это тогда:
identify \
-format "%f %d %m %b %w %h\n" \
*.{jpg,jpeg,JPG,png,tif,tiff,ppm,gif} \
*/*.{jpg,JPG,jpeg,png,tif,tiff,ppm,gif} \
2>/dev/null | column -t
Результат в моем случае:
delta.jpg #12649876 JPEG 17441B 307 205
CMYK_separation_–_maximum_black.jpg #21270389 JPEG 1453360B 1600 4780
HFnCz.jpg #21270389 JPEG 356748B 1600 1195
combined.jpg #21270389 JPEG 528221B 1600 1195
res.jpg #26408022 JPEG 57546B 603 300
red-500x2000.jpg #26951336 JPEG 6288B 500 2000
resized-red-2000x2000.jpg #26951336 JPEG 7430B 1000 1000
big-edge-25.jpg #27290574 JPEG 98916B 1024 288
big.jpg #27290574 JPEG 19216B 1024 576
double.jpg #27290574 JPEG 35076B 480 270
small.jpg #27290574 JPEG 20716B 720 404