Duplikatfinder

Andere Sprachen: English Español Français 日本語 한국어 Português Русский 中文

Der Duplikatfinder ist eine Open-Source-Anwendung zur Erkennung ähnlicher Texte in einer oder mehreren Dateien. Er kann verwendet werden, um 100%ige Duplikate sowie ähnliche, aber nicht identische Inhalte zu finden. Das Tool ist mit mehreren Formaten kompatibel, darunter Klartext, Markdown und XML.

Das Duplikatfinder-Tool kann Ihnen helfen bei:

Beispiel für doppelten Inhalt

Hier ist ein kurzes Beispiel, um Ihnen eine Vorstellung davon zu geben, was das Tool erkennt:

Chunk 1:
Open the Google Play Store on your Android device, search for "AwesomeApp", then tap "Install" to download and install the app.
Chunk 2:
Open the App Store on your iOS device, search for "AwesomeApp", then tap "Get" to download and install the app.

Anleitung

  1. Laden Sie die App herunter. Alternativ können Sie es selbst aus den Quellen erstellen.
  2. Stellen Sie sicher, dass Java 16 oder höher auf Ihrem Computer installiert ist
  3. Öffnen Sie im Terminal den Ordner mit der heruntergeladenen .jar-Datei
  4. Führen Sie java -jar duplicate-finder.jar mit den folgenden Parametern aus:

    Parameter Bedeutung Beispiel
    -r / --root
    erforderlich
    Relativer oder absoluter Pfad zum Ordner, in dem Sie nach doppeltem Inhalt suchen möchten -r=./my-project/
    -o / --output Relativer oder absoluter Pfad zum Ordner, in dem Sie die Analyseergebnisse speichern möchten. Wenn kein Verzeichnis angegeben ist, verwendet der Duplikatfinder das aktuelle Arbeitsverzeichnis. -o=./my-project/duplicates/
    -f / --fileMask Kommagetrennte Liste von Dateierweiterungen zur Analyse. Standardmäßig werden alle Dateien analysiert. -f=md,mdx
    -p / --parser

    Was als Textabschnitt betrachtet werden soll. Die folgenden Optionen sind verfügbar:

    • md – ein Markdown-Element
    • line – eine einzelne Textzeile
    • xml – ein XML-Element
    • adoc – AsciiDoc-Element
    • file – der gesamte Dateiinhalt
    • auto – Versuch, aus der Dateimaske abzuleiten
    -i=md
    -l / --minLength Die Mindestlänge (in Zeichen) für einen zu analysierenden Textabschnitt. Standard: 100 (Textfragmente kürzer als 100 Zeichen werden ignoriert) -l=150
    -s / --minSimilarity Der Mindestgrad der Ähnlichkeit zwischen zwei Textabschnitten, um als Duplikate betrachtet zu werden. Standard: 0.9 (90%) -s=0.85
    -d / --minDuplicates Die Mindestanzahl von Duplikaten, damit eine Duplikatgruppe gemeldet wird. Standard: 1 (ein Duplikat reicht aus) -d=5
    -ui / --ui Ob die interaktive Benutzeroberfläche verwendet werden soll oder nicht. Optionen:
    • none – keine Oberfläche, nur in Dateien schreiben
    • swing – alte Oberfläche
    • compose – neue Oberfläche, Standard
    -ui=none
    -v / --verbose Ob Fortschritt und Fehler in der Konsole protokolliert werden sollen. Verwenden Sie diese Option, wenn die Analyse zu lange dauert und Sie ein Problem vermuten. Standard: keine Protokollierung -v
    -m / --memory Low-Memory-Modus - minimiert den Speicherbedarf des Duplikatfinders auf Kosten der Analysegeschwindigkeit. -m
    -g / --gram (fortgeschritten) N-Gramm-Länge – beeinflusst Geschwindigkeit, Speicherbedarf und Genauigkeit der Analyse. Der Unterschied hängt von den Besonderheiten des Inhalts ab. -g=10
    -w / --keepWhitespace Mehrfache aufeinanderfolgende Leerzeichen im geparsten Inhalt beibehalten. Standardmäßig werden Leerzeichen normalisiert, d.h. mehrere aufeinanderfolgende Leerzeichen werden als eines behandelt und angezeigt. -w
    -i / --inline

    Den Inhalt verschachtelter Elemente in ihr umschließendes Element einbeziehen. Zum Beispiel:

    <parent>Some content including <child>nested content</child></parent>

    Mit dieser Option wird das äußere Element als 'Some content including nested content' geparst, während es standardmäßig als 'Some content including' geparst wird.

    -i

Befehlsbeispiel

Hier ist ein Beispiel, wie Ihr Befehl aussehen könnte:

java -jar duplicate-finder.jar -r=/Users/me.user/my-site -i=md -f=md,mdx -s=0.85 -d=5 -l=200

Der obige Befehl führt Folgendes aus:

Ergebnisse

Je nach Einstellungen und Projektgröße müssen Sie möglicherweise etwas warten, bis die Analyse abgeschlossen ist. Danach werden die Ergebnisse im Duplikat-Viewer geöffnet und im mit der Option '-o' definierten Ordner gespeichert. Wenn keine Option angegeben ist, wird die Ausgabe in das Arbeitsverzeichnis geschrieben.

Hier sehen Sie, was im Duplikat-Viewer angezeigt wird:

Duplicate finder UI Duplicate finder UI
  1. Symbolleiste: Konfigurieren Sie die Schriftgröße, Sortierreihenfolge und ob Sie nur einen einzelnen Referenz-Chunk (2) für jede Duplikatgruppe sehen möchten.
  2. Referenz-Chunk-Liste: Wählen Sie den Chunk aus, der als Referenz für den Vergleich dient.
  3. Duplikat-Chunk-Liste: Nachdem Sie den Referenz-Chunk (2) ausgewählt haben, zeigt diese Liste die ähnlichen Chunks an. Um ein Duplikat anzuzeigen, wählen Sie es aus der Liste.
  4. Referenz-Chunk-Vorschau: Nachdem Sie den Referenz-Chunk (2) ausgewählt haben, können Sie seinen Inhalt hier anzeigen. Gemeinsame Teile werden grün angezeigt, während unterschiedliche Teile rot angezeigt werden. Je mehr Duplikat-Chunks (3) einen gemeinsamen Teil haben, desto grüner wird er erscheinen.
  5. Duplikat-Chunk-Vorschau: Nachdem Sie den Duplikat-Chunk (3) ausgewählt haben, erscheint hier seine Vorschau. Sie können sie für einen schnellen Vergleich mit dem ausgewählten Referenz-Chunk (4) verwenden.

Mehr erfahren & Kontakt

Wenn Sie sich für die Entwicklung dieses Tools interessieren, schauen Sie sich die zugehörige Blog-Serie an:

Für Feedback können Sie mich über die Kontaktdaten in der Fußzeile dieser Seite erreichen. Ich freue mich über Ihre Anregungen und Feature-Wünsche.

Lizenz

Der Code ist unter der MIT-Lizenz lizenziert, was bedeutet, dass Sie ihn für jeden Zweck frei verwenden, forken und modifizieren können.

all posts ->