Чтобы отфильтровать анимированные GIF-файлы, необходимо выполнить поиск GIF-файлов с несколькими кадрами. Каждый кадр начинается с блока «Расширение управления графикой» с шестнадцатеричной подписью 21 F9 04
. Таким образом, вы должны искать .gif файлы с двумя или более экземплярами этой подписи. Это должны быть, как правило, анимированные GIF-файлы.
Этот общий подход должен работать с любым инструментом, который поддерживает некоторый бинарный поиск вместе с подстановочными знаками. Это также означает, что многие инструменты с поддержкой регулярных выражений должны находить анимированные GIF-файлы с этим выражением:
\x00\x21\xf9\x04.*\x00\x21\xf9\x04
- Сначала я попробовал мой любимый файловый менеджер Total Commander, но, к сожалению, предоставленный движок регулярных выражений не поддерживает многострочный поиск и не работает.
- Swiss File Knife (sfk): найдите все анимированные GIF-файлы на диске C:
sfk xfind -firsthit -pat "/\x21\xf9\x04[4 bytes]\x00**\x21\xf9\x04/" -dir c:\ -file .gif | findstr ":file"
- FreeCommander поддерживает приведенное выше регулярное выражение в своем диалоге «Поиск файлов» (расширенный режим)
- PowerGREP также находит анимированные GIF-файлы с параметрами «Поиск по двоичным файлам» и «Точка соответствует новым строкам»
- Grep для Windows :
grep -Pl "(?s)\x00\x21\xf9\x04.*\x00\x21\xf9\x04" *.gif