Cómo fusionar carpetas según el contenido del archivo en lugar del nombre del archivo

Tengo varias carpetas que contienen miles de archivos borrados y recuperados de varios escaneos de recuperación.

Como es habitual con la recuperación de eliminación, los archivos recuperados tienen nombres diferentes a los originales y nombres diferentes de un escaneo de recuperación a otro.

Entonces, aparte de escribir un programa personalizado, ¿hay alguna herramienta (o producto) que pueda comparar archivos por contenido e ignorar los nombres de archivo?

Idealmente, permitiría la eliminación de archivos recuperados cuando el contenido de los archivos coincida en un árbol de directorio "original" (por ejemplo, carpetas de la biblioteca de iTunes) y permitiría la fusión de dos carpetas según el contenido del archivo en lugar de los nombres de archivo.

Tengo y uso Gemini: The Duplicate Finder , ahora Gemini 2: The Duplicate Finder y estoy muy contento con él. Además de ser un cliente que paga y usuario de este producto, no tengo otra afiliación con MacPaw Inc, los fabricantes de este producto. Es una aplicación paga, pero en mi opinión vale la pena el precio por lo que hace.

Respuestas (1)

¿Por qué no tendría un script para recorrer todos los archivos y cambiarles el nombre con el valor de un hash basado en el contenido del archivo?

md5 file.png 
MD5 (file.png) = d5438a3187b73fa362dceb269e158908
crc32 file.png 
87a1ffdd
shasum -a 256 file.png 
34d126a6990b59dd45a4d7d19e471943569060bc54cb3b42b3d0be1934f16f11  file.png

He enumerado estos en orden de más rápido a más lento en mi Mac: debe probar algunos archivos si no puede dejar que el script se ejecute durante la noche y se preocupa por el rendimiento del script.

Luego, podría fusionarse según el nombre del archivo, ya que el mismo contenido tendría el mismo nombre, salvo cualquier colisión en el espacio del hash.

Alternativamente: github.com/jbruchon/jdupes