Recientemente me he encontrado con el problema de tener un desorden brutal en mis archivos, y la necesidad de encontrar cuáles tengo duplicados y en qué sitios. El problema se complica, y mucho, cuando estamos hablando de un servidor que comparte discos en red y en el que acceden más de 100 usuarios todos los dias. El espacio usado en disco ha crecido rápidamente y tenemos sospechas de que hay cosas repetidas por todas partes… ¿cómo localizar las consecuencias del desorden colectivo?
Solución para BSD, GNU/Linux y otros UNIX
Descargamos la aplicación fdupes, que se autodefine como un programa para identificar o eliminar archivos duplicados que residen en los directorios especificados. Podemos compilarlo nosotros mismos o, como siempre, descargarlo de los repositorios de software de nuestro sistema operativo. El uso es así de simple:
$ fdupes <directorio>
Este comando compara el tamaño de cada archivo, su MD5 y finalmente hace una comparación byte a byte. Podemos añadir el parámetro -d para que nos vaya peguntando si queremos eliminar los repetidos. También tenemos opciones para seguir los directorios symlink e incluso para tratar archivos con hardlink.
Solución para MS Windows
Descargamos la aplicación findrepe, la descomprimimos en el directorio Archivos de Programa y luego, desde línea de comandos ejecutamos:
C:\Archivos de Programa> java -jar findrepe-0.5.1/FindRepe.jar --install
Ahora tenemos instalado el ejecutable findrepe.bat en el directorio de nuestro sistema, esto es sólo un script que llama a la aplicación Java pasándole los parámetros que nosotros deseemos, por esto es importante no eliminar los archivos descomprimidos al finalizar el paso anterior.
Ahora ya podemos usar el programa del siguiente modo:
C:\> findrepe c:\<directorio>
…y nos devolverá una lista de todos los archivos repetidos en dicho directorio. Además podemos pasarle más de un directorio o unidad como parámetros.
a mi me agradó fslint
No lo conocía, pero tiene buena pinta. Los que yo he analizado funcionan sólo desde línea de comandos y por lo que veo fslint tiene interfície gráfica.
Me gustaria apostillar que findrepe no es sólo para windows, funciona en GNU/Linux, OpenSolaris, MacOSX, Windows XP, Windows 7, y pruede que alguno más.
También tiene la opción -d para borrar los archivos como fdupes, y algunas más.
Está orientado a los forofos de la línea de comandos más que al común de los usuarios, no son muchos, pero “Haberlos haylos”
algún día habrá una versión con interfaz gráfica pero antes quedan muchas opciones por incluir
@franci muchas gracias por las aclaraciones
Es genial, lo mejorcito que encontre en la red