Answers:
这可以使用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
找到的运行该shell命令的映像。如果帧数n>1
,然后fx
打印1
,否则打印0
。这是通过管道传递给的,grep -q 1
因此-print
只有在前一个-exec
成功的情况下才执行。