ForHosting KIT · Text & KI

Gemeinsame Zeilen in zwei Texten finden

Vergleichen Sie apple, banana, cherry, banana, pear mit pear, banana, orange, banana und Sie erhalten banana und pear: jede gemeinsame Zeile einmal, in der Reihenfolge der ersten Liste. Standardmäßig wird exakt verglichen, Großschreibung lässt sich ignorieren. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Text a
apple banana cherry banana pear
Text b
pear banana orange banana
Erhalten Sie
Text
banana pear
Gemeinsame Zeilen
banana, pear
Anzahl gemeinsam
2
Zeilen von Text A
5

Um die Überschneidung zweier eingefügter Listen zu finden, sollten weder eine Tabellenformel noch eine Shell-Pipeline oder eine mühsame manuelle Prüfung nötig sein. Dieses Werkzeug vergleicht zwei mehrzeilige Texte und gibt die eindeutigen Zeilen zurück, die in beiden vorkommen. Das Ergebnis folgt der Reihenfolge des ersten Textes und lässt sich dadurch zuverlässig weiterverarbeiten. Standardmäßig erfolgt ein exakter Vergleich, bei dem Leerzeichen, Satzzeichen sowie Groß- und Kleinschreibung relevant bleiben. Optional können Sie die Großschreibung ignorieren, sodass etwa Apple und apple übereinstimmen, während die Schreibweise des ersten Textes erhalten bleibt. Zeilenenden von Windows, Unix und älteren Mac-Systemen werden vor dem Vergleich vereinheitlicht.

So funktioniert der Vergleich gemeinsamer Zeilen

Die Funktion behandelt jede Eingabe als Folge von Zeilen und berechnet die Schnittmenge beider Folgen. Zunächst werden Zeilenenden mit Wagenrücklauf in einfache Zeilenumbrüche umgewandelt. Dadurch lassen sich eine Windows-Liste und eine Unix-Liste ohne falsche Abweichungen vergleichen, die lediglich aus dem Dateiformat entstehen.

Jede Zeile des zweiten Textes wird zu einem Suchschlüssel. Anschließend wird der erste Text von oben nach unten durchlaufen. Eine Zeile wird ausgegeben, wenn ihr Schlüssel in der zweiten Menge vorhanden ist und noch nicht ausgegeben wurde.

Somit erscheint jede gemeinsame Zeile genau einmal und in der Reihenfolge ihres ersten Auftretens im ersten Text. Standardmäßig ist der Vergleich exakt: führende und nachgestellte Leerzeichen, Satzzeichen, Akzente sowie Groß- und Kleinschreibung beeinflussen die Gleichheit. Leerzeilen sind gültige Werte und erscheinen einmal, wenn beide Eingaben sie enthalten.

Der Algorithmus nutzt begrenzte lineare Durchläufe und weder Netzwerk noch Modell, Zufall oder Uhrzeit.

Praktische Arbeitsabläufe für Listenschnittmengen

Der Vergleich gemeinsamer Zeilen hilft immer dann, wenn zwei Systeme jeweils einen Wert pro Zeile exportieren und Sie die Überschneidung benötigen. Release-Verantwortliche können Paketnamen zweier Bereitstellungen vergleichen und gemeinsame Abhängigkeiten erkennen. Analyseteams können Kundensegmente aus getrennten Berichten einfügen und die in beiden enthaltenen Kennungen erhalten, ohne eine Arbeitsmappe hochzuladen oder einen Join zu schreiben.

Redaktionsteams vergleichen Schlüsselwörter, Tags oder URL und behalten dabei die Prioritätsfolge der ersten Quelle bei. Ebenso lassen sich Vokabellisten, Anwesenheitslisten oder Bestandskennungen zweier Momentaufnahmen schneiden. Beachten Sie bei sensiblen Daten, dass der Vergleich wörtlich und nicht semantisch ist: Ähnliche Domains, Namen oder Pfade werden nicht als dieselbe Sache gedeutet.

Die Funktion entfernt auch keine Leerzeichen, normalisiert kein Unicode, sortiert keine Ergebnisse, zählt keine Wiederholungen und ermittelt keine nur einseitig vorhandenen Zeilen. Diese Entscheidungen verhindern, dass eine unsichtbare Bereinigung Werte zusammenführt, die getrennt bleiben müssen. Bereiten oder normalisieren Sie Ihre Listen bei Bedarf zuerst und verwenden Sie diese Fähigkeit anschließend für den transparenten Schnittmengen-Schritt.

Das Array eignet sich für Anwendungen, der verbundene Text für direktes Kopieren.

Kennungslisten vergleichen

Finden Sie Konten, Produkte oder Schlüssel in Exporten zweier Systeme und behalten Sie die Reihenfolge des ersten Exports bei.

Tags und Schlüsselwörter schneiden

Ermitteln Sie gemeinsame Tags, Suchbegriffe oder Kategorien, optional ohne Berücksichtigung der Großschreibung.

Bereitstellungsinventare prüfen

Vergleichen Sie Paket- oder Dienstinventare mit einem Eintrag pro Zeile und erhalten Sie die eindeutigen Einträge beider Umgebungen.

Werden wiederholte gemeinsame Zeilen mehrfach ausgegeben?

Nein. Jede übereinstimmende Zeile wird einmal ausgegeben, auch wenn sie in einer Eingabe mehrfach vorkommt.

Ignoriert das Werkzeug Leerzeichen am Zeilenrand?

Nein. Leerzeichen sind relevant; eine Zeile mit nachgestellten Leerzeichen unterscheidet sich von derselben sichtbaren Zeile ohne sie.

In welcher Reihenfolge erscheinen die gemeinsamen Zeilen?

In der Reihenfolge ihres ersten Auftretens im ersten Text, nie alphabetisch und nie nach der zweiten Liste. Deshalb steht im Beispiel banana vor pear, obwohl pear in der zweiten Liste zuerst kommt.

Können Zeilen übereinstimmen, die sich nur in der Großschreibung unterscheiden?

Ja, schalten Sie die Option ein, die Groß- und Kleinschreibung ignoriert, dann passt Apple zu apple. Das Ergebnis behält die Schreibweise des ersten Textes, Ihre ursprüngliche Großschreibung geht also nicht verloren.

Zeigt das Werkzeug auch Zeilen, die nur in einer Liste stehen?

Nein. Es liefert nur die Schnittmenge, also die Zeilen, die in beiden Texten vorkommen. Es zeigt nicht, was auf einer Seite fehlt, sortiert das Ergebnis nicht und zählt keine Wiederholungen.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/str/common-lines

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/str/common-lines \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text_a":"apple\nbanana\ncherry\npear","text_b":"banana\npear\norange"}'
{
  "text_a": "apple\nbanana\ncherry\npear",
  "text_b": "banana\npear\norange"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.common_lines",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

max_chars_per_text65536
HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Im Browser und über die API arbeitet dieselbe deterministische Funktion.

So funktioniert der Vergleich gemeinsamer Zeilen

Bei aktiviertem ignore_case werden nur die Vergleichsschlüssel kleingeschrieben; der Rückgabewert behält die ursprüngliche Schreibweise des ersten Textes. Identische Eingaben liefern daher stets dasselbe JSON.

Eingaben auswählen und Ergebnis verstehen

Jedes Feld darf bis zu 65,536 Zeichen enthalten. Der exakte Modus eignet sich für großschreibungssensitive Benutzernamen, Konfigurationsschlüssel, Hashes, Pfade und Codes, bei denen jedes Zeichen zählt. Duplikate in einer Quelle erzeugen keine doppelte Ausgabe, da eine Mengenschnittmenge und keine Zuordnung einzelner Vorkommen berechnet wird. Übergeben Sie text_a und text_b als nicht leere Zeichenfolgen mit den zu vergleichenden Listen oder Textblöcken. Trennen Sie Einträge durch Zeilenumbrüche und lassen Sie ignore_case weg oder auf false, wenn Bezeichner exakt übereinstimmen müssen. Aktivieren Sie ignore_case für Kategorien, Produktnamen, Tags oder Domainlisten, bei denen die Großschreibung unerheblich ist. Die Antwort enthält text als durch Zeilenumbrüche verbundene und kopierbereite Fassung, common_lines mit denselben Werten als JSON-Array sowie common_count mit der Anzahl eindeutiger gemeinsamer Zeilen. Zusätzlich werden die normalisierten Zeilenzahlen beider Eingaben und die angewandte ignore_case-Einstellung gemeldet. Die Reihenfolge stammt aus text_a, nicht aus text_b oder einer alphabetischen Sortierung. Fehlende, leere, nicht textuelle oder zu lange Werte führen zu invalid_input. Eine erfolgreiche API-Verarbeitung kostet $0.002 pro Element; der Browser führt dieselbe reine Logik lokal aus.

Welche Eingabe bestimmt die Reihenfolge?

Der erste Text bestimmt die Reihenfolge. Gemeinsame Zeilen folgen ihrem ersten Auftreten in text_a.

Was ändert ignore_case?

Die Option vergleicht kleingeschriebene Schlüssel, erhält im Ergebnis aber die ursprüngliche Schreibweise aus text_a.

Was kostet eine API-Anfrage?

Eine erfolgreiche API-Anfrage kostet $0.002 pro Element. Die Webversion führt dieselbe deterministische Logik lokal aus.

Vollständige KIT-Dokumentation lesen →