ToolPal
Geordnete Aktenordner in einer Reihe

Textzeilen online sortieren und deduplizieren (ohne Excel oder Skripte)

📷 Pixabay / Pexels

Textzeilen online sortieren und deduplizieren (ohne Excel oder Skripte)

Wie du schnell Listen von Text sortierst, deduplizierst, umkehrst und bereinigst — ohne Tabellenkalkulation oder Terminal. Praktische Beispiele für Entwickler und Datenverarbeiter.

3. April 20267 Min. Lesezeit

Es gibt eine spezifische Art von Langeweile, mit der Entwickler und Datenleute ständig konfrontiert werden: Du hast eine Liste von Dingen — Domains, Benutzernamen, Tags, URLs, Fehlermeldungen — und du musst sie sortieren, oder die Duplikate loswerden, oder beides. Klingt einfach. Es ist einfach. Aber die Reibung des Öffnens von Excel, oder das Schreiben eines schnellen Python-Skripts, oder das Erinnern an die genaue sort | uniq-Beschwörung in bash ist gerade genug, um dich zu verlangsamen.

Ich habe mehr Zeit als ich zugeben möchte mit solchen Aufgaben verloren. Nicht stundenlang, aber diese lästigen Zweiminuten-Unterbrechungen, die deinen Flow unterbrechen. Das ist der Anwendungsfall, für den das Zeilen-Sortierer-Tool gebaut wurde — Liste einfügen, sortieren, bereinigen, kopieren, weitermachen.

Die häufigen Fälle

Lass mich die Situationen durchgehen, in denen diese Art von Tool tatsächlich Zeit spart.

Eine Liste von URLs oder Domains deduplizieren

Du stellst eine Liste von zu blockierenden Domains zusammen, oder eine Liste von Weiterleitungsregeln, oder eine Allowlist für eine Content Security Policy. Du fügst URLs aus verschiedenen Quellen ein und am Ende hast du Duplikate. Du könntest:

  • Excel öffnen, einfügen, Duplikate entfernen verwenden
  • sort -u list.txt > sorted.txt in einem Terminal schreiben
  • awk oder Python verwenden

Oder du könntest es in einen Zeilen-Sortierer einfügen, "Duplikate entfernen" ankreuzen und in 10 Sekunden fertig sein.

Der Terminal-Ansatz ist ehrlich gesagt sauberer, wenn du bereits in einem Terminal bist. Aber wenn du gerade etwas anderes machst — Dokumentation schreibst, ein Formular ausfüllst, im Browser arbeitest — hat das Wechseln zu einem Terminal, um einen einzeiligen Befehl auszuführen, mehr Overhead als es scheint.

Tag-Listen oder Schlüsselwörter alphabetisieren

SEO-Keywords. Datenbankspaltennamen. Umgebungsvariablennamen. Konfigurationsschlüssel. Diese Listen lesen sich besser alphabetisiert, und sie sind selten alphabetisiert, wenn du sie zuerst schreibst.

Das manuelle Alphabetisieren funktioniert bei fünf Elementen. Bei fünfzehn Elementen fangen deine Augen an zu springen. Bei fünfzig Elementen brauchst du ein Tool.

Reihenfolge randomisieren (Mischen)

Manchmal möchtest du das Gegenteil von sortiert — du musst eine Liste randomisieren. Zufällig geordnete Testdaten, gemischte Umfragefragen, eine als Text exportierte randomisierte Wiedergabeliste. Die Mischen-Option erledigt das.

Umkehren ohne Sortieren

Wenn du ein Änderungsprotokoll hast, bei dem der älteste Eintrag an erster Stelle steht, möchtest du vielleicht die neuesten zuerst zur Anzeige. Umgekehrte Reihenfolge (nicht umgekehrt alphabetisch — nur die Reihenfolge umkehren) unterscheidet sich von einer Sortierung in umgekehrter Reihenfolge. Beide Operationen sind verfügbar.

Die Optionen, die wirklich wichtig sind

Der Zeilen-Sortierer hat ein paar Optionen, die es sich lohnt zu verstehen:

Groß-/Kleinschreibung beachten: Mit ausgeschalteter Groß-/Kleinschreibung (Standard) werden „Apfel" und „apfel" zusammen sortiert und als Duplikate gezählt. Mit eingeschalteter Groß-/Kleinschreibung werden sie als unterschiedliche Werte behandelt. Für Programmierungsanwendungsfälle — Umgebungsvariablennamen, Befehlsnamen — ist Groß-/Kleinschreibung beachten normalerweise das, was du möchtest. Für menschlichen Text wie Listen von Namen oder Orten ist Groß-/Kleinschreibung nicht beachten normalerweise besser.

Duplikate entfernen: Funktioniert in Kombination mit anderen Operationen. Wenn du gleichzeitig sortierst und Duplikate entfernst, erhältst du eine saubere, deduplizierte, alphabetisierte Liste.

Leerzeilen entfernen: Wenn du etwas aus einem Dokument einfügst, bekommst du oft verstreute Leerzeilen. Diese entfernt sie.

Leerzeichen trimmen: Führende und nachfolgende Leerzeichen in jeder Zeile. Die Art, die unsichtbar erscheint, wenn du aus einer Tabellenkalkulation oder einem PDF kopierst. „apfel " und „apfel" sind nicht dieselbe Zeichenkette — aber mit aktiviertem Trimmen werden sie gleich, sodass Duplikate korrekt erkannt werden.

Ein realer Workflow: Einen Datenbank-Migrations-Checklist bereinigen

Hier ist ein spezifischer Workflow, den ich tatsächlich verwendet habe. Wir hatten eine Datenbank-Migrations-Checkliste, die von mehreren Leuten über Zeit gepflegt worden war. Elemente waren hinzugefügt und neu hinzugefügt worden, einige mit leicht unterschiedlichem Leerzeichen oder Groß-/Kleinschreibung. Die Liste war auf 200+ Elemente angewachsen.

Um sie zu bereinigen:

  1. Die gesamte Liste in die Zwischenablage kopieren
  2. In Zeilen-Sortierer einfügen
  3. Aktivieren: Leerzeichen trimmen, Leerzeilen entfernen, Duplikate entfernen
  4. A → Z sortieren (macht es einfacher, Beinahe-Duplikate mit dem Auge zu erkennen)
  5. Das Ergebnis kopieren

Die sortierte, deduplizierte Ausgabe war auf 140 Elemente reduziert. Die Beinahe-Duplikate — „Benutzertabelle migrieren" vs „benutzertabelle migrieren" — brauchten immer noch ein menschliches Auge, aber die offensichtlichen genauen Duplikate waren weg.

Nach der Deduplizierung führte ich die sortierte Liste durch das Text-Diff-Tool, um sie mit der vorherigen Version zu vergleichen und sicherzustellen, dass nichts Legitimes entfernt wurde. Dieser Zwei-Tool-Workflow hat insgesamt vielleicht fünf Minuten gedauert.

Wann stattdessen ein Terminal verwendet werden sollte

Ich muss ehrlich sein: Wenn du mit einem Terminal vertraut bist, ist sort -u filename.txt für Dateien schneller. Und wenn du etwas programmgesteuert als Teil eines Skripts verarbeitest, mach es definitiv im Code.

Das Online-Tool ist besser, wenn:

  • Du bereits in einem Browser-Kontext bist
  • Du mit Text in der Zwischenablage arbeitest, nicht mit einer Datei
  • Du mehrere Optionen (sortieren + deduplizieren + trimmen) auf einmal anwenden möchtest, ohne Befehle zu verketten
  • Die Person, die das macht, kein Entwickler ist

Dieser letzte Punkt ist wichtig. Nicht jeder, der eine Liste deduplizieren muss, weiß, wie man ein Terminal öffnet. Ein Content-Manager, eine Marketingperson, ein Projektmanager — sie haben dieselbe Anforderung und verdienen ein Tool, das keine Kenntnisse darüber erfordert, was awk '{!seen[$0]++} !seen[$0]' tut.

Mehrsprachiges Sortieren

Eines, das leicht übersehen wird: Das Sortieren von nicht-englischem Text ist nicht dasselbe wie das Sortieren von ASCII-Text.

sort in bash macht mit UTF-8 einen vernünftigen Job, aber du musst dein Locale korrekt setzen (LC_ALL=de_DE.UTF-8 sort oder ähnliches). Buchstaben mit Akzenten (é, ü, ñ) sortieren je nach Locale unterschiedlich. Koreanisch, Japanisch und Chinesisch haben völlig andere Kollationsregeln.

Der Zeilen-Sortierer verwendet JavaScripts localeCompare()-Methode zum Sortieren, die die Locale-Einstellungen des Browsers respektiert. Das bedeutet, dass deutsche Umlaute relativ zu ihren Basisvokalen an der richtigen Stelle sortieren — ä sortiert nahe a, ö nahe o, und so weiter.

Es ist nicht perfekt — locale-bewusstes Sortieren ist ein tiefes Problem — aber es ist deutlich besser als naive Zeichencode-Sortierung für echte mehrsprachige Inhalte.

Was es nicht macht

Um die Erwartungen zu setzen:

Es wird keine Fuzzy-Matching-Duplikate erkennen. Wenn du „München" und „Muenchen" hast, werden diese nicht als Duplikate erkannt. Für Fuzzy-Deduplizierung brauchst du etwas Ausgefeilteres.

Es wird keine Spalten sortieren. Das ist ein zeilenweises Tool. Wenn du kommagetrennte Werte hast und nach der zweiten Spalte sortieren möchtest, brauchst du ein CSV-Tool oder eine Tabellenkalkulation.

Es wird Vorkommen nicht zählen oder nach Wert gruppieren. Für reichere Textanalysen schau dir den Wort-Zähler an.

Datenschutz

Alles läuft in deinem Browser. Dein Text wird niemals an einen Server gesendet. Das ist wichtig, wenn die Liste, die du deduplizierst, E-Mails, interne Domainnamen, Kundendaten oder andere sensible Inhalte enthält.

In deinen Workflow integrieren

Einige praktische Hinweise:

Tastaturgesteuerte Nutzung: Wenn du ein Tastaturmensch bist, ist der Ablauf: Strg+A, um im Eingabefeld alles auszuwählen, Strg+V zum Einfügen, Optionen mit Tab und Leertaste anpassen, dann auf Verarbeiten klicken. Die Ausgabe hat einen Kopier-Button.

Große Eingaben: Das Tool verarbeitet große Eingaben für typische Größen gut — Hunderte oder Tausende von Zeilen. Für wirklich riesige Eingaben (Millionen von Zeilen) wird ein Befehlszeilentool schneller sein.

Hin-und-Her-Nutzung: Es ist in Ordnung, die Ausgabe einer Operation als Eingabe für eine andere zu verwenden. Sortieren, kopieren, zurück einfügen, andere Optionen anwenden, wiederholen. Das Tool hat kein Gedächtnis zwischen Operationen.

Abschluss

Ein Zeilen-Sortierer klingt fast zu einfach, um ein eigenes Tool zu brauchen. Aber „zu einfach, um ein Tool zu brauchen" ist oft die Kategorie, in der sich Reibung am unsichtbarsten ansammelt. Die Fünf-Sekunden-Aufgaben, die du zwanzigmal am Tag erledigst.

Sortiere, dedupliziere und bereinige deine Textlisten hier. Kein Setup, keine Anmeldung, keine Bedenken wegen des Einfügens auf zufälligen Servern.

Wenn du mit etwas Strukturierterem arbeitest, eignet sich das Text-Diff-Tool gut zum Vergleich von Versionen einer Liste vor und nach der Änderung. Und der Wort-Zähler gibt dir Statistiken über deinen Text, wenn du mehr als nur sortierte Ausgabe brauchst.

Häufig gestellte Fragen

Artikel teilen

XLinkedIn

Verwandte Beiträge