Extensões de arquivo Autofix baseadas no conteúdo

1

Existe um aplicativo / script que irá espiar o conteúdo do arquivo e tentar adivinhar a extensão correta? Eu tenho um monte de arquivos recuperados de um backup e é uma mistura de imagens, vídeos e documentos. Os nomes dos arquivos são todos aleatórios e não possuem extensões.

Não importa em qual plataforma o app / script é.

Eu sei que existem sites que adivinharão o formato de um arquivo se você fizer o upload, mas eu tenho centenas de arquivos, então eu preciso de um modo de lote.

    
por Maciej Swic 10.06.2014 / 11:31

1 resposta

2

No Linux / Unix, há o comando file . Ele examinará os dados e, em seguida, fará uma suposição sobre o tipo de arquivo que é. Se houver um número limitado de arquivos diferentes, você poderá escrever um script de wrapper que acrescente a extensão com base no conteúdo do arquivo. Exemplo rápido para entender a ideia:

#!/bin/bash

filename=$1

filedata='file $filename'

if [[ $filedata =~ /gzip/ ]];
  mv $filename ${filename}.gz
  exit
fi

if [[ $filedata =~ /PDF document/ ]];
  mv $filename ${filename}.pdf
  exit
fi
    
por 10.06.2014 / 11:42