
Tengo dos cajas Debian en casa que contienen varias fotos, audio, video y otros archivos de datos. Ambos están desorganizados, me gustaría organizarlos y eliminar archivos duplicados entre ellos. Tampoco hay mucha estructura lógica de carpetas.
¿Hay una forma fácil de hacer esto?
Respuesta1
Hay muchas variantes. Creo que md5 está en el camino correcto, pero usar sumas SHA probablemente sea un poco mejor. SHA1 probablemente tenga una velocidad similar y sea menos probable que produzca una colisión (aunque las posibilidades de colisión son infinitesimales en cualquier sentido).
Haría algo como lo siguiente:
- En cada cuadro, cree una lista de archivos con sus sumas sha1 con un comando como
buscar /ruta/a/archivos -tipo f -exec sha1sum {} + > pcX-sha1.lst
- Luego copiaría ambos archivos en 1 cuadro. Una vez que haya hecho eso, encontraré una lista de sumas de verificación sha que muestran solo los archivos que están duplicados. Una vez que los archivos estén en el mismo directorio, algo así como
cortar -f1 -d" " pcX-sha1.lst pcY-sha1.lst | ordenar | uniq -d > duplicados.lst
La última lista es para encontrar los archivos duplicados que puedes hacer con un comando como
para cada uno en $(cat duplicashas.lst); hacer grep $cada pcX-sha1.lst; hecho
Lo anterior enumerará los archivos con sus nombres encontrados en pcX-sha1.lst. Por supuesto, puede utilizar cualquiera de los archivos (o ambos archivos si desea ver la ubicación de los archivos en ambos lugares y si tienen nombres de archivo diferentes).