No linux, o utilitário file
pode valer a pena investigar. Ele "testa" cada arquivo que você passa para ele 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 todos os arquivos em um diretório e copiá-los em 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 no diretório useful
. Se você está procurando por outros tipos de arquivos, simplesmente substitua o image/jpeg
no meu script pelo tipo MIME dos arquivos nos quais você está interessado.