Típico caso: Recuperación de datos, el medio ha sido sobreescrito con información reciente, con lo que no todos los archivos recuperables a bajo nivel salen sanos.
Acción y efecto de probar todos los archivos recuperados uno por uno para detectar de forma manual cuales están corruptos
Hola,Ahí fué que se me encendió la lamparita y vengo utilizando este método automático desde entonces exitosamente. Es que el comando “file“, puede diferenciar a la perfección un tipo de archivo de otro con lo que cualquier archivo que estuviera corrupto, ya sea una imagen, un video, música o un documento de office en lugar de ser identificado como corresponde, simplemente figurará como de tipo “data“.
Tengo un respaldo de archivos antiguos de mi trabajo (principalmente MSOffice), en algún momento varios archivos se corrompieron, por lo que hay archivos que se pueden abrir y otros que no hay caso.
Quiero eliminar los archivos corruptos.
Para diferenciarlos de los buenos se me ocurrió utilizar el comando “file”
Tan sencillo como eso, eliminar del directorio que contiene los archivos recuperados, todos aquellos que figuren como de tipo “data“, a lo que Stolz, moderador del foro y mago programador de Bash respondió con este sencillo script que navega subdirectorios recursivamente eliminando todos los archivos que sean de tipo “data”:
find . -type f | while read linea; do tipo=`file -b "$linea"` if [[ $tipo == "data" ]];then rm "$linea" fi donePaso a paso:
Se crea un archivo dentro de /usr/bin para que contenga al script, lo llamaremos “borrador_de_archivos_corruptos“:
nano /usr/bin/borrador_de_archivos_corruptosSe copia el contenido del script y se pega dentro del archivo que estamos editando con nano (o el que sea tu editor de texto de cabecera).
Se sale guardando los cambios.
Se convierte el archivo en ejecutable:
chmod +x /usr/bin/borrador_de_archivos_corruptosY ya estça listo para usar.
IMPORTANTE: Ejecutar borrador_de_archivos_corruptos únicamente dentro de la carpeta que contiene la información salvada del proceso de recuperación de datos. Ejecutar el script fuera de la misma te va a borrar archivos que son de tipo “data” por que tienen que serlo, te va a hacer mierda todo lo que encuentre a su paso, para que se entienda.
Ya tenés otro motivo mas para tener un Linux siempre a mano.
No hay comentarios:
Publicar un comentario