it-swarm-eu.dev

So finden (und löschen) Sie doppelte Dateien

Ich habe eine große Musiksammlung und es gibt einige Duplikate darin. Gibt es eine Möglichkeit, doppelte Dateien zu finden. Zumindest, indem Sie einen Hash ausführen und prüfen, ob zwei Dateien denselben Hash haben.

Bonuspunkte für das Finden von Dateien mit demselben Namen, abgesehen von der Erweiterung - ich glaube, ich habe einige Songs sowohl im MP3- als auch im Ogg-Format.

Ich benutze gerne die Kommandozeile, wenn das der einfachste Weg ist.

125
Hamish Downer

Ich benutze fdupes dafür. Es ist ein Kommandozeilenprogramm, das mit Sudo apt install fdupes aus den Repositorys installiert werden kann. Sie können es wie fdupes -r /dir/ect/ory aufrufen und es wird eine Liste von Dupes ausgedruckt. fdupes hat auch eine einfache Homepage und eine Wikipedia-Artikel , die einige weitere Programme auflistet.

138
qbi

FSlint hat eine GUI und einige andere Funktionen. Die Erklärung des Duplikatprüfungsalgorithmus aus deren FAQ:

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).

fslintInstall fslint

61
Dominik

Liste von programs/scripts/bash-solutions, die Duplikate finden und unter nix ausführen können:

  1. dupedit: Vergleicht viele Dateien gleichzeitig ohne Prüfsumme. Vermeidet den Vergleich von Dateien mit sich selbst, wenn mehrere Pfade auf dieselbe Datei verweisen.
  2. dupmerge: Läuft auf verschiedenen Plattformen (Win32/64 mit Cygwin, * nix, Linux usw.)
  3. dupseek: Perl mit Algorithmus optimiert, um Lesevorgänge zu reduzieren.
  4. fdf: Perl/c basiert und läuft auf den meisten Plattformen (Win32, * nix und wahrscheinlich auch auf anderen). Verwendet MD5, SHA1 und andere Prüfsummenalgorithmen
  5. freedups: Shell-Skript, das die von Ihnen angegebenen Verzeichnisse durchsucht. Wenn zwei identische Dateien gefunden werden, werden diese hart miteinander verknüpft. Jetzt sind die zwei oder mehr Dateien noch in ihren jeweiligen Verzeichnissen vorhanden, aber nur eine Kopie der Daten wird auf der Festplatte gespeichert. Beide Verzeichniseinträge verweisen auf dieselben Datenblöcke.
  6. fslint: Kommandozeilenschnittstelle und GUI.
  7. liten: Reines Python Deduplizierungsbefehlszeilen-Tool und Bibliothek mit md5-Prüfsummen und einem neuen Byte Vergleichsalgorithmus. (Linux, Mac OS X, * nix, Windows)
  8. liten2: Ein Umschreiben des ursprünglichen Liten, immer noch ein Befehlszeilenwerkzeug, aber mit einem schnelleren interaktiven Modus unter Verwendung von SHA-1-Prüfsummen (Linux, Mac OS X, * nix)
  9. rdfind: Einer der wenigen, der Dubletten anhand der Reihenfolge der Eingabeparameter (zu durchsuchende Verzeichnisse) bewertet, um dies nicht zu tun in "originalen/bekannten" Quellen löschen (wenn mehrere Verzeichnisse angegeben sind). Verwendet MD5 oder SHA1.
  10. rmlint: Fast Finder mit Befehlszeilenschnittstelle und vielen Optionen, um auch andere Flusen zu finden (verwendet MD5)
  11. a: Unix/Linux-Befehlszeilenprogramm, das für die Verwendung mit find (und dergleichen) entwickelt wurde.
  12. findrepe: kostenloses Java-basiertes Kommandozeilen-Tool für die effiziente Suche nach doppelten Dateien jars. (GNU/Linux, Mac OS X, * nix, Windows)
  13. fdupe: ein kleines in Perl geschriebenes Skript. Schnell und effizient seine Arbeit erledigen . 1
  14. ssdeep: Identifizieren Sie nahezu identische Dateien mithilfe von stückweisem Hashing, das durch den Kontext ausgelöst wird
55
v2r

Wenn Ihre Deduplizierungsaufgabe musikbezogen ist, führen Sie zuerst die Anwendung picard aus, um Ihre Musik korrekt zu identifizieren und zu kennzeichnen (sodass Sie doppelte MP3-/OGG-Dateien finden, auch wenn ihre Namen falsch sind). Beachten Sie, dass picard auch als Ubuntu-Paket erhältlich ist.

Anhand des Tags musicip_puid können Sie alle Ihre doppelten Songs leicht finden.

6

Ein anderes Skript, das diesen Job ausführt, ist rmdupe . Von der Autorenseite:

rmdupe verwendet Standard-Linux-Befehle, um in angegebenen Ordnern nach doppelten Dateien zu suchen, unabhängig von Dateiname oder Erweiterung. Bevor doppelte Kandidaten entfernt werden, werden sie Byte für Byte verglichen. rmdupe kann auch Duplikate anhand eines oder mehrerer Referenzordner überprüfen, Dateien in den Papierkorb verschieben, anstatt sie zu entfernen, einen benutzerdefinierten Entfernungsbefehl zulassen und die Suche auf Dateien der angegebenen Größe beschränken. rmdupe enthält einen Simulationsmodus, der angibt, was für einen bestimmten Befehl ausgeführt wird, ohne dass Dateien tatsächlich entfernt werden.

4
girardengo

Hast du es versucht

finddup

oder

finddup -l

Ich denke, es funktioniert gut.

3
xerostomus

Für musikbezogene doppelte Identifizierung und Löschung von Picard und Jaikoz durch http://musicbrainz.org/ ist die beste Lösung. Jaikoz Ich glaube, Ihre Musik wird automatisch anhand der Daten der Songdatei markiert. Sie brauchen nicht einmal den Namen des Songs, um den Song zu identifizieren und ihm alle Metadaten zuzuweisen. Die kostenlose Version kann zwar nur eine begrenzte Anzahl von Songs in einem Durchgang markieren, Sie können sie jedoch so oft ausführen, wie Sie möchten.

2
Yathi

Ich benutze komparator - Sudo apt-get install komparator ( buntu 10.04 + ) - als GUI-Tool zum Finden von Duplikaten im manuellen Modus.

2
N0rbert