이미지 세부정보 가져오기 ImageMagick

이미지 세부정보 가져오기 ImageMagick

이 형식의 ImageMagick을 사용하여 모든 폴더 및 하위 폴더의 이미지 세부 정보를 얻는 방법.

file-name file-location file-format size width height

추신 - 나는 이 페이지를 읽었습니다.http://www.imagemagick.org/script/escape.php하지만 파일 위치 경로를 얻는 방법과 하위 폴더에 파일을 포함하는 방법을 찾을 수 없습니다.

답변1

나는 ImageMagick이 그 자체로는 재귀적으로 작동하지 않을 것이라고 확신합니다. 디렉터리 구조를 통해 작업하고 확인하려는 파일당 한 번씩 호출하려면 이를 중심으로 스크립트/프로그램을 작성해야 합니다.

답변2

다음 명령은 찾고 있는 정보를 반환합니다.

  identify -format "%f %d %m %b %w %h\n" ./* ./*/*
  1. 파일 디렉토리의 이스케이프 시퀀스는 입니다 %d.
  2. 현재 폴더의 모든 파일을 포함하려면 ./*(셸 와일드카드)를 사용하세요.
  3. 모든 하위 폴더의 모든 파일을 포함하려면 ./*/*(셸 와일드카드)를 사용합니다.

(어떤 운영 체제를 사용하고 있는지 밝히지 않았습니다. 위의 내용은 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
결합.jpg #21270389 JPEG 528221B 1600 1195
res.jpg #26408022 JPEG 57546B 603 300
빨간색-500x2000.jpg #26951336 JPEG 6288B 500 2000
크기 조정-빨간색-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
작은.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
결합.jpg #21270389 JPEG 528221B 1600 1195
res.jpg #26408022 JPEG 57546B 603 300
빨간색-500x2000.jpg #26951336 JPEG 6288B 500 2000
크기 조정-빨간색-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
작은.jpg #27290574 JPEG 20716B 720 404

관련 정보