.gif
파일을 찾았고 많은 파일이 다시 있다고 가정 해 봅시다 . 이제 애니메이션 GIF 인지 확인하기 위해 테스트하고 싶습니다 . 명령 줄을 통해이 작업을 수행 할 수 있습니까?
실험 해보고 싶을 때 다음에 몇 가지 예를 업로드했습니다.
애니메이션 GIF 이미지
정적 GIF 이미지
답변
ImageMagick을 사용하여 쉽게 수행 할 수 있습니다
identify -format '%n %i\n' -- *.gif
12 animated.gif
1 non_animated.gif
identify -format %n
gif의 프레임 수를 인쇄합니다. 애니메이션 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
성공했다.