디렉터리 및 하위 디렉터리에서 모든 애니메이션 gif 파일을 찾습니다.

디렉터리 및 하위 디렉터리에서 모든 애니메이션 gif 파일을 찾습니다.

내가 .gif파일을 찾아 여러 개를 반환했다고 가정해 보겠습니다. 이제 그들이 맞는지 테스트하고 싶습니다.생기GIF. 명령줄을 통해 이 작업을 수행할 수 있나요?

실험해보고 싶으신 경우를 대비해 아래에 몇 가지 예를 업로드했습니다.

애니메이션 GIF 이미지

애니메이션 gif 이미지

정적 GIF 이미지

정적 GIF 이미지

답변1

이 작업은 다음을 사용하여 쉽게 수행할 수 있습니다.이미지 마술사

identify -format '%n %i\n' -- *.gif

12 animated.gif
1 non_animated.gif

identify -format %n애니메이션 GIF의 경우 gif의 프레임 수를 인쇄합니다. 이 숫자는 1보다 큽니다.

(손쉬운 설치를 위해 ImageMagick을 배포 저장소에서 쉽게 사용할 수 있습니다.)

답변2

사용 exiftool:

exiftool -q -if '$framecount > 1' -p '$directory/$filename' -r -ext:gif .

두 개 이상의 프레임이 있는 GIF 파일에 대한 경로를 보고합니다(현재 디렉터리에서 재귀적으로).

답변3

또 다른 im사용 방법fx운영자:

find . -type f -name \*.gif -exec sh -c \
'identify -format "%[fx:n>1]\n" "$0" | grep -q 1' {} \; -print

그러면 현재 디렉터리와 해당 하위 디렉터리에서 .gif쉘 명령을 실행하는 이미지가 검색됩니다 .gif. 프레임 번호가 있으면 인쇄하고 n>1, 그렇지 않으면 인쇄합니다 . 이것은 파이프로 연결되므로 이전 작업이 성공한 경우에만 실행됩니다 .fx10grep -q 1-print-exec

관련 정보