Идентификация форматов
Для автоматического определения формата файла используются специализированные утилиты, которые анализируют содержимое файла (сигнатуры byte patterns), а не только расширение.
Siegfried (sf)
Siegfried — современный, быстрый и надежный инструмент для идентификации форматов. Рекомендуется к использованию в Ruarxive.
- Особенности:
- Использует сигнатуры PRONOM.
- Написан на Go, очень быстрый.
- Поддерживает работу с потоками данных и контейнерами (ZIP, WARC).
Установка
# MacOS (Homebrew)
brew install siegfried
# Linux (Debian/Ubuntu)
# Скачать .deb пакет с GitHub релизов
Использование
sf myfile.doc
Вывод обычно содержит PUID, MIME-тип и версию формата:
---
filename: myfile.doc
filesize: 25088
modified: 2023-10-27T10:00:00Z
errors:
matches:
- ns: pronom
id: fmt/40
format: Microsoft Word Document
version: 97-2003
mime: application/msword
basis: extension match doc; byte match at 0, 512
warning: