ディレクトリおよびそのサブディレクトリ内のすべてのアニメーションgifファイルを検索します


12

.gifファイルの検索を行って、たくさんのファイルを取り戻したとしましょう。次に、アニメーション GIFであるかどうかをテストします。コマンドライン経由でこれを行うことはできますか?

あなたがそれらを実験したい場合のために、私は以下にいくつかの例をアップロードしました。

アニメーションGIF画像

アニメーションgif画像

静的GIF画像

静的gif画像

回答:


22

これは、ImageMagickを使用して簡単に実行できます。

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

12 animated.gif
1 non_animated.gif

identify -format %ngifのフレーム数を出力します; アニメーションGIFの場合、この数は1より大きいです。

(ImageMagickは、簡単にインストールできるように、おそらくディストリビューションのリポジトリで簡単に入手できます)


完璧です、ありがとう-ImageMagickが既にインストールされています。
マックスウィリアムズ

9

を使用してexiftool

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

複数のフレームを持つGIFファイルのパスを報告します(現在のディレクトリに再帰的に)。


5

演算子を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が成功した場合にのみ実行されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.