Existe um utilitário para comparar o conteúdo do arquivo com a extensão?

Existe um utilitário para comparar o conteúdo do arquivo com a extensão?

Estou procurando um utilitário (para Linux ou Windows) que possa verificar se o conteúdo do arquivo parece corresponder à extensão. Isto é para capturar arquivos muito corrompidos.

Estou prestes a escrever um pequeno script bash que apenas executará "arquivo" em tudo, mas não quero descobrir o que "arquivo" retorna para todos os tipos de arquivo formatados corretamente que estou vai encontrar.

Histórico: um amigo apagou recentemente acidentalmente sua pasta de usuário do Windows (sim... Área de trabalho, registro, Meus documentos, tudo...). Usei um utilitário agressivo de unerase para recuperar o máximo que pude. Este utilitário específico recupera múltiplas cópias do mesmo arquivo por algum motivo (ou seja, "Carta.doc", "Carta(1).doc", "Carta(2).doc", etc...). Alguns desses arquivos conterão lixo aleatório, alguns serão documentos válidos e muitos deles serão omesmodocumento.

Então, usei fdupes e um script perl para destruir todas as duplicatas, mas agora quero separar aquelas que parecem ser o arquivo original daquelas que provavelmente não são. Não acredito que sou a primeira pessoa que precisa fazer isso...

Responder1

Você pode tentar oTriDNetprograma (há também umCLIe umon-lineversão). Ele identifica arquivos com base em assinaturas binárias, com base em uma biblioteca integrada (e extensível). Aqui está uma listadas extensões de arquivo que ele pode identificar por padrão, embora seja possível adicionar manualmente uma definição para um novo tipo.

Observe que se a assinatura binária do arquivo fornãointacto e corrompido, o software não saberá que o arquivo está corrompido. Cabe à implementação do aplicativo que utiliza o arquivo para verificar se há corrupção (já que não há como "simplesmente saber" se um arquivo está corrompido).

É assim que os arquivos funcionam, cabe ao programa que usa esses arquivos binários verificar se eles estão corrompidos ou não (alguns tipos de arquivos armazenam somas de verificação dentro deles).

Responder2

Para aplicativos de escritório, há uma opção Abrir e Reparar... na caixa de diálogo aberta.

Para imagens, o IrfanView pode reconstruir cabeçalhos de arquivos.

Para vídeos, o VLC Player fará o mesmo.

Porém, como EBGreen disse acima, é altamente diferente que exista um produto de nível de consumidor que realmente faça isso para muitos tipos de arquivos, quanto mais para todos os tipos de arquivos.

informação relacionada