答案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
运行该 shell 命令的图像.gif
。如果帧数n>1
则fx
打印1
,否则打印0
。这是通过管道传递到的,grep -q 1
因此只有在前一个成功的-print
情况下才会执行。-exec