Frage So finden Sie doppelte Dateien (und löschen sie)


Ich habe eine größere Musiksammlung und da sind einige Duplikate drin. Gibt es eine Möglichkeit, doppelte Dateien zu finden? Zumindest, indem Sie einen Hash durchführen und sehen, ob zwei Dateien den gleichen Hash haben.

Bonuspunkte für das Finden von Dateien mit dem gleichen Namen abgesehen von der Erweiterung - ich denke, ich habe einige Songs mit mp3- und ogg-Formatversionen.

Ich bin glücklich, die Befehlszeile zu verwenden, wenn das der einfachste Weg ist.


121
2017-09-08 19:11


Ursprung




Antworten:


ich benutze fdupes dafür. Es ist ein Kommandozeilenprogramm welches mit den Repositories installiert werden kann sudo apt install fdupes. Du kannst es so nennen fdupes -r /dir/ect/ory und es wird eine Liste von Betrogenen ausdrucken. fdupes hat auch eine einfache Homepage und ein Wikipedia-Artikel, die einige weitere Programme auflistet.


128
2017-09-08 19:20



Es hat auch eine "-d" -Option, die Sie wählen können, welche Kopie Sie behalten möchten, und löscht die anderen (oder Sie können alle behalten, wenn Sie wollen). - Matthew Crumley
Wie kann ich die Option -d verwenden, um mein Problem zu beheben? Hier - John McKean Pruitt
Ist es möglich, dass doppelte Ordner anstelle von doppelten Dateien aufgelistet werden? - Anderson Green
Können Sie ausführlicher erklären, wie alle Duplikate in einer rekursiven Verzeichnisstruktur gelöscht werden (wobei nur eine einzige Kopie jeder Datei übrig bleibt)? Ich möchte dies automatisch tun, das heißt, ohne jedes Mal angeben zu müssen, welche Datei ich behalten soll. Es sollte nur eines der Duplikate auswählen. - becko
fdupes -r . -d -N sollte die erste Instanz speichern und die Duplikate löschen. Ich habe gerade erfolgreich einen einzelnen Ordner mit gelöscht fdupes . -d -N nicht rekursiv - Simon B


FSlint hat eine GUI und einige andere Funktionen. Die Erklärung des Duplikatprüfalgorithmus 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).

fslint  Install fslint


58
2017-09-08 19:31



Vielen Dank. Beachten Sie, dass der Befehlsname "fslint-gui" lautet und die Befehlszeilentools standardmäßig nicht in $ PATH enthalten sind - sie befinden sich in / usr / share / fslint / fslint. Ich war verwirrt, als ich keine Hilfe bekam, in welchem ​​Paket es war, indem ich einfach fslint (via / usr / lib / command-not-found) ausführte. - nealmcb
genau was nötig ist - Tebe
@nealmcb Wenn verwendet sudo apt-get install fslint, die Installation setzt derzeit fslint-gui in den Pfad und so kann ich es von überall aus starten, indem Sie einfach tippen fslint-gui. Sie können wo finden fslint-gui lebt durch Tippen which fslint-gui (Es sieht wie ein Python-Skript aus). - user29020


Liste von programs/scripts/bash-solutions, die Duplikate finden und unterlaufen können nix:

  1. Dupedit: Vergleicht viele Dateien gleichzeitig ohne Prüfsummen. Vermeidet den Vergleich von Dateien mit sich selbst, wenn mehrere Pfade auf dieselbe Datei verweisen.
  2. dipmerge: läuft auf verschiedenen Plattformen (Win32 / 64 mit Cygwin, * nix, Linux etc.)
  3. dupseek: Perl mit optimiertem Algorithmus zur Reduzierung von Lesevorgängen.
  4. fdf: Perl / c basiert und läuft über die meisten Plattformen (Win32, * nix und wahrscheinlich andere). Verwendet MD5, SHA1 und andere Prüfsummenalgorithmen
  5. Freigaben: Shell-Skript, das die von Ihnen angegebenen Verzeichnisse durchsucht. Wenn es zwei identische Dateien findet, verbindet es sie fest miteinander. Jetzt sind die zwei oder mehr Dateien immer noch in ihren jeweiligen Verzeichnissen vorhanden, aber nur eine Kopie der Daten ist auf der Festplatte gespeichert. Beide Verzeichniseinträge verweisen auf dieselben Datenblöcke.
  6. fslint: hat Befehlszeilenschnittstelle und GUI.
  7. Litzen: Reines Python-Deduplizierungs-Befehlszeilentool und Bibliothek mit MD5-Prüfsummen und einem neuartigen Byte-Vergleichsalgorithmus. (Linux, Mac OS X, * nix, Windows)
  8. liten2: Eine neue Version des ursprünglichen Liten, immer noch ein Kommandozeilenwerkzeug, aber mit einem schnelleren interaktiven Modus mit SHA-1 Prüfsummen (Linux, Mac OS X, * nix)
  9. rdfind: Eine der wenigen, die Duplikate basierend auf der Reihenfolge der Eingabeparameter (zu scannende Verzeichnisse) einordnen, um nicht in "ursprünglichen / bekannten" Quellen zu löschen (wenn mehrere Verzeichnisse angegeben sind). Verwendet MD5 oder SHA1.
  10. rmlint: Schneller Finder mit Kommandozeilen-Interface und vielen Optionen um auch andere Lint zu finden (benutzt MD5)
  11. ua: Unix / Linux Kommandozeilenwerkzeug, entworfen um mit find (und ähnlichem) zu arbeiten.
  12. Findrepe: kostenloses Java-basiertes Kommandozeilen-Tool für die effiziente Suche nach doppelten Dateien, es kann in Zips und Jars (GNU / Linux, Mac OS X, * nix, Windows) gesucht werden
  13. fdupe: ein kleines in Perl geschriebenes Skript. Schnelles und effizientes Arbeiten.1
  14. ssdeepIdentifizieren Sie fast identische Dateien mit Context Triggered Piecewise Hashing

48
2018-04-03 01:22



Kann eines dieser Programme doppelte Ordner finden (nicht nur doppelte Dateien?) - Anderson Green
@AndersonGreen rmlint kann doppelte dirs finden. rmlint -T dd - oligofren
Für Ubuntu ist eine andere Möglichkeit, Dateien zu öffnen, nach einer bestimmten Erweiterung zu suchen (control-f) (zB .mp3) und dann nach dem Dateinamen zu sortieren; Dies ermöglicht es, Duplikate von Hand zu löschen und gleichzeitig die Positionen der Duplikate anzuzeigen. - axd


Wenn Ihre Deduplizierungsaufgabe musikbezogen ist, führen Sie zunächst die Picard Anwendung, um Ihre Musik korrekt zu identifizieren und zu markieren (so dass Sie .mp3 / .ogg Dateien finden, selbst wenn ihre Namen falsch sind). Beachten Sie, dass Picard auch als Ubuntu-Paket verfügbar ist.

Das getan, basierend auf der musicip_puid Tag können Sie alle Ihre doppelten Lieder leicht finden.


6
2017-09-08 21:46





Ein anderes Skript, das diese Aufgabe erledigt, ist rmdupe. Von der Seite des Autors:

rmdupe verwendet Standard-Linux-Befehle, um in bestimmten Ordnern nach doppelten Dateien zu suchen, unabhängig vom Dateinamen oder der Erweiterung. Bevor doppelte Kandidaten entfernt werden, werden sie Byte für Byte verglichen. rmdupe kann auch Duplikate gegen einen oder mehrere Referenzordner prüfen, Dateien löschen, statt sie zu entfernen, einen benutzerdefinierten Befehl zum Entfernen zulassen und die Suche auf Dateien mit der angegebenen Größe beschränken. rmdupe enthält einen Simulationsmodus, der angibt, was für einen bestimmten Befehl ausgeführt wird, ohne Dateien tatsächlich zu entfernen.


4
2018-04-22 07:34





Hast du es versucht

finddup

oder

finddup -l

Ich denke, es funktioniert gut.


3
2017-07-05 04:34





Für musikbezogene Dublettenidentifikation und - löschung Picard und Jaikoz von http://musicbrainz.org/ ist die beste Lösung. Jaikoz Ich glaube, deine 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, aber Sie können sie beliebig oft ausführen.


2
2018-04-22 07:47