Duplikate entfernen
Doppelte Zeilen sofort aus Text entfernen.
100% clientseitige Verarbeitung
Eingabezeilen: 6
Ausgabezeilen: 0 (0 entfernt)
So funktioniert die Deduplizierung
Das Tool normalisiert zuerst die Zeilenenden: sowohl Windows-\r\n als auch das klassische Mac-\r werden in ein einzelnes \n umgewandelt, damit eine Datei aus jedem Betriebssystem gleich behandelt wird. Anschließend teilt es den Text an Zeilenumbrüchen und verarbeitet jede Zeile entsprechend Ihren Optionen: umgebende Leerzeichen trimmen und/oder leere Zeilen verwerfen, falls aktiviert. Danach läuft es die verbleibenden Zeilen der Reihe nach durch und behält eine Zeile nur, wenn ihr Vergleichsschlüssel noch nicht gesehen wurde. Der Schlüssel ist im Modus mit Groß-/Kleinschreibung die Zeile selbst, im Modus ohne Groß-/Kleinschreibung die kleingeschriebene Zeile. Weil das erste Vorkommen gewinnt, bleibt die relative Reihenfolge der eindeutigen Zeilen erhalten, und keine Zeile wird verschoben, solange Sie nicht sortieren lassen.
Was jede Option ändert
| Option | Standard | Wirkung |
|---|---|---|
| Groß-/Kleinschreibung beachten | An | Apple und apple sind verschiedene Zeilen; wenn aus, bleibt nur die erste Schreibweise |
| Leerzeichen trimmen | An | Führende und nachfolgende Leerzeichen werden beim Vergleich ignoriert und aus der Ausgabe entfernt |
| Leere Zeilen entfernen | An | Leere Zeilen werden vor der Deduplizierung gelöscht |
| Ausgabe sortieren | Aus | Dedupliziert zuerst, sortiert dann die verbleibenden Zeilen alphabetisch |
Das Zusammenspiel der ersten beiden ist entscheidend. Mit aktivem Trimmen gelten die Zeile apple und apple als Duplikate, und die behaltene Ausgabe ist das getrimmte apple, unabhängig davon, welche zuerst kam. Mit ausgeschaltetem Trimmen sind es verschiedene Zeilen und beide überleben.
Praxisbeispiel: eine eingefügte Liste bereinigen
Angenommen, Sie fügen sechs Zeilen ein, wobei eine leere Zeile zwei Gruppen trennt:
apple
Banana
apple
cherry
banana
Mit den Standardeinstellungen (Groß-/Kleinschreibung beachten, Trimmen, leere Zeilen entfernen, kein Sortieren) wird die leere Zeile verworfen, apple kommt zweimal vor und behält nur sein erstes Vorkommen, und die Ausgabe lautet apple, Banana, cherry, banana — vier Zeilen. Die Kopfzeile meldet 6 Eingabezeilen, 4 Ausgabezeilen und 2 entfernte: ein echtes Duplikat plus eine leere Zeile.
Schalten Sie nun die Groß-/Kleinschreibung aus und lassen alles andere gleich. banana dupliziert jetzt Banana, sodass die Ausgabe auf apple, Banana, cherry schrumpft — drei Zeilen. Beachten Sie, dass das zweite behaltene Wort weiterhin Banana heißt, weil das das erste Vorkommen war; das kleingeschriebene banana wurde verworfen.
Groß-/Kleinschreibung, leere Zeilen und Zeilenenden
Diese drei Details verursachen die meiste Verwirrung, daher lohnt es sich, sie explizit zu machen:
- Deduplizierung ohne Groß-/Kleinschreibung bewahrt die erste Schreibweise. Die Kleinschreibung dient nur als Vergleichsschlüssel. Wenn das erste Vorkommen
USAist und eine spätere Zeileusa, behält die AusgabeUSA. - Leere Zeilen sind keine Duplikate. Sie werden über ihr eigenes Kontrollkästchen entfernt. Selbst wenn das Entfernen leerer Zeilen aus ist, schrumpft eine Folge leerer Zeilen zu einer einzigen leeren Zeile, weil die erste eindeutig ist und die übrigen Duplikate davon sind.
- Eine nur aus Leerzeichen bestehende Zeile wird unter Trimmen leer. Einrückung oder nachfolgende Tabs bewahren eine Zeile nicht vor dem Entfernen leerer Zeilen, weil das Trimmen vor der Leerprüfung stattfindet.
- Zeilenenden werden vereinheitlicht. Eine CRLF-Datei und eine LF-Datei mit identischem Inhalt erzeugen identische Ausgaben, sodass Sie Exporte aus verschiedenen Tools vergleichen können, ohne sie vorher umzuwandeln.
Häufige Fehler
- Deduplizierung auf Wortebene erwarten. Die Einheit ist die Zeile.
red, blue, redbleibt unverändert, weil es eine Zeile ist. - Vergessen, dass Trimmen standardmäßig an ist. Eine Formatierung, die auf einem führenden Leerzeichen beruht, etwa eingerückter Code, verliert diese Einrückung in der Ausgabe.
- Die Groß-/Kleinschreibung ausschalten und dann die kleingeschriebene Version wollen. Das Tool behält das erste Vorkommen, nicht das kleingeschriebene.
- Vor dem Extrahieren einer Schlüsselspalte deduplizieren. Der Vergleich ganzer Zeilen fasst keine Zeilen zusammen, die sich nur in einem Feld gleichen.
- Annehmen, dass Sortieren mehr Zeilen entfernt. Sortieren ordnet nur die bereits eindeutigen Zeilen neu und ändert nie die Anzahl.
Praxisnahe Szenarien
Bereinigung von E-Mail-Listen. Exportieren Sie Abonnenten und fügen Sie eine Adresse pro Zeile ein, mit ausgeschalteter Groß-/Kleinschreibung und aktivem Trimmen. Das fasst Jane@Example.com und jane@example.com zusammen, ebenso Einträge, die sich nur durch ein versehentliches Leerzeichen am Ende unterscheiden. Es führt jedoch keine Aliase wie jane+news@example.com und jane@example.com zusammen, weil das echte unterschiedliche Zeichenketten sind.
Triage von Server-Logs. Fügen Sie einen Block wiederholter Fehlerzeilen ein und lassen Sie die Groß-/Kleinschreibung an, damit unterschiedliche Meldungen getrennt bleiben; aktivieren Sie dann das Sortieren, um identische Fehler vor dem Zählen zu gruppieren. Die Duplikatunterdrückung ist hier exakt, sodass Log-Zeilen, die sich in Zeitstempel oder Request-ID unterscheiden, erhalten bleiben.
Keyword-Listen. Gescrapte Keywords wiederholen sich oft mit unterschiedlicher Groß-/Kleinschreibung. Der Modus ohne Groß-/Kleinschreibung fasst SEO Tools und seo tools in der ersten Schreibweise zusammen. Er führt weder Pluralformen noch Wortstämme oder Fast-Treffer zusammen, tool und tools überleben also beide.
Eingerückter Code oder Konfiguration. Hier lohnt es sich, das Trimmen auszuschalten. Wenn Sie einen eingerückten YAML- oder Python-Block deduplizieren, entfernt die Standardeinstellung die Einrückung und verändert die Bedeutung der Ausgabe.
Es ist kein Deduplikator auf Wort- oder Tokenebene, es kann keine unscharfen oder Fast-Duplikate wie Tippfehler und Singular-/Plural-Paare erkennen, und es kann nicht nach einer Schlüsselspalte vergleichen, wie es der Befehl „Duplikate entfernen“ einer Tabellenkalkulation tut. Es bewahrt auch keine Informationen darüber, wie viele leere Zeilen vorhanden waren. Wenn Sie einen schlüsselbasierten, zeilenorientierten Vergleich brauchen, sind Tabellenkalkulation oder Datenbank das bessere Instrument; bei reinem, zeilenorientiertem Text ohne Schema ist dieses Tool schneller und formatunabhängig.
Verwandte Tools
Häufig gestellte Fragen
Ändert der Modus ohne Groß-/Kleinschreibung die Schreibweise der Zeile, die behalten wird?
Nein. Das Tool schreibt jede Zeile nur kleingeschrieben, um den Vergleichsschlüssel zu bilden; im Ergebnis steht das erste Vorkommen exakt so, wie es eingegeben wurde. Ist der Modus ohne Groß-/Kleinschreibung aktiv, schrumpft eine Liste aus „APPLE“, „Apple“ und „apple“ also auf das zuerst eingegebene Vorkommen mit dessen ursprünglicher Schreibweise.
Werden leere Zeilen als Duplikate voneinander behandelt?
Nein. Leere Zeilen werden über die separate Option zum Entfernen leerer Zeilen gesteuert und nie als Duplikate gezählt. Ist „Leere Zeilen entfernen“ an (der Standard), wird jede leere Zeile vor der Deduplizierung verworfen. Ist es aus, überleben leere Zeilen als eigene Einträge, aber eine einzelne leere Zeile wird nicht wiederholt ausgegeben, weil die erste als eindeutig behalten wird.
Entfernt das Tool doppelte Wörter innerhalb einer einzelnen Zeile?
Nein. Der Vergleich arbeitet zeilenweise, das Tool sieht also zwei identische Wörter innerhalb einer Zeile nicht. Eine Zeile wie „buy now buy now“ ist eine einzige eindeutige Zeile und passiert unverändert. Um Wörter zu deduplizieren, bräuchten Sie ein Worttrenn-Tool oder ein Skript, nicht dieses zeilenbasierte Werkzeug.
Warum sind Zeilen verschwunden, obwohl es keine exakten Duplikate gab?
Meist sind zwei Standardeinstellungen verantwortlich. „Leerzeichen trimmen“ ist an, eine mit Leerzeichen eingerückte Zeile wird also ohne diese Einrückung verglichen und ausgegeben. „Leere Zeilen entfernen“ ist ebenfalls an, jede nach dem Trimmen leer gewordene Zeile wird gelöscht. Nur aus Leerzeichen bestehende Zeilen verschwinden ganz. Schalten Sie beide Optionen aus, um die Eingabe bis auf echte Duplikate bytegenau zu erhalten.
Kann ich Duplikate anhand nur einer Spalte aus einem CSV- oder Tabellenexport entfernen?
Nicht direkt. Das Tool vergleicht ganze Zeilen, zwei Zeilen, die sich in einem anderen Feld unterscheiden, bleiben also erhalten, selbst wenn ihre E-Mail-Spalte übereinstimmt. Um nach einer einzelnen Spalte zu deduplizieren, extrahieren Sie diese Spalte zuerst in eine eigene Liste, deduplizieren Sie sie hier und führen Sie sie anschließend per Tabellen-Nachschlagen wieder mit den übrigen Daten zusammen.
Ändert die Sortieroption, welches Duplikat überlebt?
Nein. Die Deduplizierung läuft zuerst und behält jede eindeutige Zeile an ihrer erstgesehenen Position; das Sortieren läuft danach und ordnet die überlebenden Zeilen lediglich neu. Wenn eine bestimmte Kopie überleben soll, bringen Sie die Eingabe vor dem Deduplizieren in diese Reihenfolge, denn das Sortieren tauscht nicht aus, welches Vorkommen behalten wurde.
Geprüft vom HandyTools-Hub-Team · Zuletzt aktualisiert