
Quando você usa um programa de recuperação de dados como o Recuva, ele pode "recuperar" muitos arquivos, muitos deles inutilizáveis, com dados aleatórios, mas de alguma forma com nomes de arquivos corretos. Existe alguma maneira de detectar automaticamente esses arquivos ou arquivos com dados significativos, mas que precisam de reparos, e excluir o restante dos arquivos que são lixo?
Responder1
file
No Linux, pode valer a pena dar uma olhada no utilitário . Ele "testa" cada arquivo que você passa usando três tipos diferentes de testes, em vez de confiar na extensão do nome do arquivo. (Veja man file
para uma explicação dos diferentes testes).
Aqui está uma abordagem para testar cada arquivo em um diretório e copiá-lo para uma nova pasta se for uma imagem JPEG.
#!/bin/bash
mkdir useful
for cfile in *; do
fileres=$(file -b --mime-type "${cfile}")
if [[ "${fileres}" == "image/jpeg" ]]; then
cp "${cfile}" "useful/"
fi
done
Execute este script no diretório com todos os seus arquivos recuperados e ele copiará apenas os arquivos JPEG para o useful
diretório. Se você estiver procurando por outros tipos de arquivos, simplesmente substitua image/jpeg
no meu script pelo tipo mime dos arquivos nos quais você está interessado.