¿Cómo comprobar qué archivos se han copiado en el disco duro principal y cuáles no se han copiado?

0

Hace algunos meses formateé el disco principal de mi MacBook y, para no perder datos, creé una imagen .dmg del disco duro antes del procedimiento de formateo y la guardé en un dispositivo externo.

Luego, hace algunos días, comencé un tipo de restauración de datos, copiando la mayoría de los archivos de respaldo al disco principal.

Ahora, me gustaría comprobar si todos estos archivos mencionados se han copiado realmente a mi Macbook. Debido a esto, estoy buscando una aplicación teóricamente capaz de analizar los archivos (en particular, su nombre, hash, etc.) contenidos en mi disco externo y encontrar los archivos correspondientes en mi disco duro Macintosh; si no se encuentra el archivo correspondiente, el archivo debe estar resaltado. Si realmente existe una aplicación similar, ¿puedes sugerirmela?

Si no hay una aplicación con las funciones explicadas anteriormente, ¿puede sugerirme un breve script de Bash o AppleScript que pueda hacer eso? No estoy familiarizado con estos dos idiomas, pero tengo un poco de fondo de scripts de Lotes y estaba pensando en algunas afirmaciones, por ejemplo, for loop, md5 , etc. - que generan un nombre de archivo más una lista de suma de comprobación MD5 para ambas unidades y que encuentran correspondencias. Que hay de esto ¿Me pueden sugerir algunos ejemplos?

Nota: Esto no es lo mismo que ¿Cómo confirmar que un archivo se ha copiado en un disco nuevo sin errores? . La nueva estructura de datos en la unidad principal es un poco diferente en comparación con la anterior, que se almacena en la unidad externa. Debido a esto, una comparación estándar de carpeta / volumen con una rsync run no es exactamente lo que estoy buscando.

    
pregunta rudicangiotti 11.02.2016 - 17:14

2 respuestas

0

Es posible comparar un MD5 de cada archivo usando un poco de Bash y algunas utilidades agradables. Supondré aquí que el mismo MD5 significa el mismo contenido.

Haz MD5 de todo:

find /one/dir -type f | xargs md5 > one.txt
find /other/dir -type f | xargs md5 > other.txt

Compara cada MD5 para encontrar lo que falta:

diff -u <(cut -d'=' -f2 one.txt | sort) <(cut -d'=' -f2 other.txt | sort) > diff.txt

Solo se encuentra en /one/dir :

grep -f <(sed -n 's/^- //p' diff.txt) one.txt

Solo se encuentra en /other/dir :

grep -f <(sed -n 's/^+ //p' diff.txt) other.txt

Hazme saber si esto funciona.

    
respondido por el Joao Morais 14.02.2016 - 00:48
0

Desde mi experiencia, puedo recomendar la aplicación Path Finder ( enlace ).

Tiene un comando Commands -> Folder Sync muy poderoso que hace exactamente lo que estás pidiendo: muestra los archivos sincronizados y los que necesitas copiar hacia la izquierda o la derecha. Se resaltan con diferentes colores. La aplicación tiene un período de prueba gratuito (totalmente funcional) y luego solicita algo de dinero, pero vale la pena el precio.

Las flechas rojas solo muestran algunos directorios aleatorios. Puede seleccionar el suyo propio, incluidos los de diferentes volúmenes. Y puedes comparar el contenido del archivo es necesario.

    
respondido por el Denis Rasulev 11.02.2016 - 17:46

Lea otras preguntas en las etiquetas