
Cuando utiliza un programa de recuperación de datos como Recuva, puede "recuperar" muchos archivos, muchos de los cuales simplemente no se pueden utilizar con datos aleatorios pero de alguna manera tienen nombres de archivo correctos. ¿Hay alguna forma de detectar automáticamente aquellos archivos o archivos que tienen datos significativos pero que necesitan reparación y eliminar el resto de los archivos que son basura?
Respuesta1
En Linux, file
podría valer la pena investigar la utilidad. "Prueba" cada archivo que le pasa utilizando tres tipos diferentes de pruebas en lugar de depender de la extensión del nombre del archivo. (Ver man file
explicación de las diferentes pruebas).
A continuación se muestra un método para probar cada archivo en un directorio y copiarlo en una nueva carpeta si es una imagen 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
Ejecute este script en el directorio con todos sus archivos recuperados y solo copiará archivos jpeg al useful
directorio. Si está buscando otros tipos de archivos, simplemente reemplace image/jpeg
en mi script con el tipo mime de los archivos que le interesan.