Cómo encontrar (y eliminar) archivos duplicados

121

Tengo una gran colección de música y hay algunos duplicados allí. ¿Hay alguna forma de encontrar archivos duplicados? Como mínimo, haciendo un hash y viendo si dos archivos tienen el mismo hash.

Puntos de bonificación por encontrar también archivos con el mismo nombre, aparte de la extensión. Creo que tengo algunas canciones con versiones en formato mp3 y ogg.

Me alegra usar la línea de comandos si es la manera más fácil.

    
pregunta Hamish Downer 08.09.2010 - 21:11

8 respuestas

128

Uso fdupes para esto. Es un programa de línea de comandos que se puede instalar desde los repositorios con sudo apt install fdupes . Puede llamarlo como fdupes -r /dir/ect/ory e imprimirá una lista de duplicados. fdupes también tiene una Página de inicio simple y una Artículo de Wikipedia , que enumera algunos programas más.

    
respondido por el qbi 08.09.2010 - 21:20
58

FSlint tiene una GUI y algunas otras características. La explicación del algoritmo de verificación duplicado de sus preguntas frecuentes:

1. exclude files with unique lengths
2. handle files that are hardlinked to each other
3. exclude files with unique md5(first_4k(file))
4. exclude files with unique md5(whole file)
5. exclude files with unique sha1(whole file) (in case of md5 collisions).

fslint < img src="https://hostmar.co/software-large">

    
respondido por el Dominik 08.09.2010 - 21:31
48

Lista de programs/scripts/bash-solutions , que puede encontrar duplicados y ejecutar en nix :

  1. dupedit : compara muchos archivos a la vez sin la suma de comprobación. Evita comparar archivos contra sí mismos cuando varias rutas apuntan al mismo archivo.
  2. dupmerge : se ejecuta en varias plataformas (Win32 / 64 con Cygwin, * nix, Linux, etc.)
  3. dupseek : Perl con algoritmo optimizado para reducir las lecturas.
  4. fdf : Perl / c based y se ejecuta en la mayoría de las plataformas (Win32, * nix y probablemente otros). Utiliza MD5, SHA1 y otros algoritmos de suma de comprobación
  5. liberaciones : script de shell, que busca en los directorios que especifique. Cuando encuentra dos archivos idénticos, los vincula duramente. Ahora los dos o más archivos todavía existen en sus respectivos directorios, pero solo una copia de los datos se almacena en el disco; ambas entradas de directorio apuntan a los mismos bloques de datos.
  6. fslint : tiene interfaz de línea de comandos y GUI.
  7. liten : herramienta de línea de comandos de deduplicación de Pure Python, y biblioteca, que usa sumas de comprobación md5 y una novela. algoritmo de comparación de bytes. (Linux, Mac OS X, * nix, Windows)
  8. liten2 : una reescritura del Liten original, sigue siendo una herramienta de línea de comandos pero con una versión más rápida modo interactivo usando sumas de comprobación SHA-1 (Linux, Mac OS X, * nix)
  9. rdfind : uno de los pocos que clasifica los duplicados según el orden de los parámetros de entrada (directorios para escanear) en ordene no borrar en fuentes "originales / bien conocidas" (si se dan múltiples directorios). Utiliza MD5 o SHA1.
  10. rmlint : buscador rápido con interfaz de línea de comandos y muchas opciones para encontrar otras pelusas también (usa MD5)
  11. ua : herramienta de línea de comandos de Unix / Linux, diseñada para funcionar con find (y similares).
  12. findrepe : herramienta gratuita de línea de comandos basada en Java diseñada para una búsqueda eficiente de archivos duplicados, puede buscar dentro de cremalleras y jarras. (GNU / Linux, Mac OS X, * nix, Windows)
  13. fdupe : un pequeño script escrito en Perl. Haciendo su trabajo de manera rápida y eficiente. 1
  14. ssdeep : identifique archivos casi idénticos mediante Hastings desencadenada por sentido Hashing
respondido por el v2r 03.04.2012 - 03:22
6

Si su tarea de deduplicación está relacionada con la música, primero ejecute la aplicación picard para identificar y etiquetar correctamente su música (para que pueda encontrarla). duplicar archivos .mp3 / .ogg incluso si sus nombres son incorrectos). Tenga en cuenta que picard también está disponible como un paquete de Ubuntu.

Hecho, basado en la etiqueta musicip_puid , puedes encontrar fácilmente todas tus canciones duplicadas.

    
respondido por el ΤΖΩΤΖΙΟΥ 08.09.2010 - 23:46
4

Otro script que hace este trabajo es rmdupe . Desde la página del autor:

  

rmdupe utiliza comandos estándar de Linux para buscar archivos duplicados en carpetas especificadas, independientemente del nombre de archivo o la extensión. Antes de que se eliminen los candidatos duplicados, se comparan byte por byte. rmdupe también puede verificar duplicados en una o más carpetas de referencia, puede trash archivos en lugar de eliminarlos, permite un comando de eliminación personalizado y puede limitar su búsqueda a archivos de tamaño especificado. rmdupe incluye un modo de simulación que informa qué se hará para un comando determinado sin eliminar realmente ningún archivo.

    
respondido por el girardengo 22.04.2014 - 09:34
3

¿Has probado

finddup

o

finddup -l

Supongo que funciona bien.

    
respondido por el xerostomus 05.07.2014 - 06:34
2

Para la identificación y eliminación de duplicados relacionados con la música, Picard y Jaikoz por enlace es la mejor solución. Jaikoz creo que etiqueta automáticamente tu música según los datos del archivo de la canción. Ni siquiera necesita el nombre de la canción para identificar la canción y asignarle todos los metadatos. Aunque la versión gratuita solo puede etiquetar un número limitado de canciones en una sola ejecución, puede ejecutarla tantas veces como desee.

    
respondido por el Yathi 22.04.2014 - 09:47
2

Uso komparator - sudo apt-get install komparator ( Ubuntu 10.04+ ) - como herramienta GUI para encontrar duplicados en modo manual.

    
respondido por el N0rbert 29.12.2013 - 13:15

Lea otras preguntas en las etiquetas