디렉토리 및 해당 서브 디렉토리에서 모든 애니메이션 GIF 파일 찾기 명령 줄을 통해이 작업을 수행

.gif파일을 찾았고 많은 파일이 다시 있다고 가정 해 봅시다 . 이제 애니메이션 GIF 인지 확인하기 위해 테스트하고 싶습니다 . 명령 줄을 통해이 작업을 수행 할 수 있습니까?

실험 해보고 싶을 때 다음에 몇 가지 예를 업로드했습니다.

애니메이션 GIF 이미지

애니메이션 gif 이미지

정적 GIF 이미지

정적 gif 이미지



답변

ImageMagick을 사용하여 쉽게 수행 할 수 있습니다

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

12 animated.gif
1 non_animated.gif

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

(ImageMagick은 배포판의 저장소에 쉽게 설치되어 쉽게 설치할 수 있습니다)


답변

사용 exiftool:

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

현재 디렉토리에서 재귀 적으로 둘 이상의 프레임을 가진 GIF 파일의 경로를보고합니다.


답변

연산자 를 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다음 fx인쇄 1, 그렇지 않으면 인쇄 0. 이것은 파이프됩니다 grep -q 1그래서 -print이전이있는 경우에만 실행 -exec성공했다.


답변