Line Sorter

Zeilen alphabetisch, nach Länge, umgekehrt oder zufällig sortieren

Beispiel ausprobieren

Eingabezeilen

Sortierte Zeilen

Läuft lokal · Sicher zum Einfügen von Secrets
Sortierte Zeilen werden hier angezeigt…

Was ist Zeilensortierung?

Zeilensortierung bezeichnet das Neuanordnen der Zeilen eines Textblocks nach einer bestimmten Regel: alphabetische Reihenfolge, umgekehrte Reihenfolge, Zeilenlänge oder eine zufällige Mischung. Das Sortieren von Zeilen ist eine häufige Aufgabe beim Arbeiten mit Logdateien, CSV-Daten, Konfigurationslisten oder beliebigen Klartextinhalten, bei denen die Reihenfolge relevant ist. Der Vorgang teilt den Text an Zeilenumbrüchen auf, wendet eine Vergleichsfunktion auf das resultierende Array an und fügt die sortierten Zeilen wieder zusammen.

Die meisten Programmiersprachen sortieren Zeichenketten standardmäßig lexikografisch, also anhand der Unicode-Codepunkte der Zeichen. Das bedeutet: Großbuchstaben werden vor Kleinbuchstaben einsortiert ("Banana" vor "apple"), und Ziffern kommen vor Buchstaben. Gebietsschema-bewusstes Sortieren — auch Natural Sort oder Kollation genannt — behebt dies durch sprachspezifische Regeln. JavaScript's localeCompare(), Python's locale.strxfrm() und der POSIX-Befehl sort mit LC_COLLATE bieten alle gebietsschema-bewusstes Sortieren.

Das Sortieren nach Länge ist nützlich, wenn man die kürzesten oder längsten Einträge einer Liste finden, Ausreißer in der Logausgabe identifizieren oder Elemente nach Komplexität ordnen möchte. Umgekehrtes Sortieren dreht die bestehende Zeilenreihenfolge um, ohne neu zu ordnen — das unterscheidet sich vom alphabetischen Z-A-Sortieren. Zufälliges Mischen weist jeder Zeile einen zufälligen Sortierschlüssel zu, sodass bei jedem Durchlauf eine andere Reihenfolge entsteht. Das Wechseln zwischen Modi für dieselbe Eingabe ist schneller als das Schreiben eines Einweg-Skripts.

Warum diesen Zeilensortierer verwenden?

Text einfügen, einen Sortiermodus wählen und das Ergebnis sofort erhalten. Kein Kommandozeilen-Setup, keine Skriptdateien, keine Paketinstallationen.

Sofortige Sortierung
Ergebnisse erscheinen beim Tippen oder Einfügen. Zwischen sechs Sortiermodi wechseln und Ausgaben vergleichen, ohne etwas erneut ausführen zu müssen.
🔒
Datenschutzfreundliche Verarbeitung
Die gesamte Sortierung läuft im Browser mit JavaScript. Der Text verbleibt auf dem Gerät. Nichts wird auf einen Server hochgeladen oder protokolliert.
🔀
Sechs Sortiermodi
A-Z, Z-A, kürzeste zuerst, längste zuerst, umgekehrte Reihenfolge und zufällige Mischung. Eine Eingabe deckt die häufigsten Zeilensortieraufgaben ab.
📋
Kein Konto erforderlich
Seite öffnen und sofort sortieren. Keine Registrierung, keine Erweiterung, keine Desktop-App. Funktioniert auf jedem Gerät mit einem modernen Browser.

Anwendungsfälle für den Zeilensortierer

Frontend-Entwicklung
CSS-Klassenlisten, Import-Anweisungen oder i18n-Übersetzungsschlüssel alphabetisch sortieren. Einheitliche Reihenfolge reduziert Merge-Konflikte in der Versionsverwaltung und beschleunigt Code-Reviews.
Backend-Engineering
Abhängigkeitslisten in package.json, requirements.txt oder go.mod vor dem Commit ordnen. SQL-Spaltennamen sortieren, wenn CREATE TABLE-Anweisungen erstellt oder Schema-Diffs verglichen werden.
DevOps und Infrastruktur
Umgebungsvariablennamen in .env-Dateien, Kubernetes-ConfigMap-Einträge oder Terraform-Variablenblöcke sortieren. Alphabetische Reihenfolge ermöglicht es, Duplikate und fehlende Werte beim Review schnell zu erkennen.
QA und Testautomatisierung
Testausgabelogs nach Zeitstempel oder Meldung sortieren, um Fehler schnell zu isolieren. Testeingabedaten randomisieren, um zu überprüfen, dass das Anwendungsverhalten nicht von der Einfügereihenfolge abhängt.
Data Engineering
CSV-Header oder Spaltenlisten ordnen, bevor Schema-Migrationsskripte geschrieben werden. Datenstichprobenzeilen nach Länge sortieren, um abgeschnittene Zeilen oder ungewöhnlich lange Werte in einer Datenpipeline zu finden.
Studierende und Lernende
Vokabellisten, Bibliografieeinträge oder Lernnotizen alphabetisch sortieren. Karteikarten-Zeilen für randomisierte Lerneinheiten mischen, ohne eine separate App installieren zu müssen.

Übersicht der Sortiermodi

Dieses Tool unterstützt sechs Sortiermodi. Die folgende Tabelle beschreibt jeden Modus, die verwendete Vergleichsmethode und ein Beispielergebnis für die Eingabeliste: apple, banana, cherry, date, fig.

ModusBeschreibungJS-MethodeBeispielausgabe
A-ZAlphabetical ascendinglocaleCompare()apple, banana, cherry
Z-AAlphabetical descendinglocaleCompare() reversedcherry, banana, apple
Length (short)Shortest line firsta.length - b.lengthfig, date, apple, banana
Length (long)Longest line firstb.length - a.lengthbanana, apple, date, fig
ReverseFlip line order, no reorderingArray.reverse()Last line becomes first
RandomRandomized comparator (biased)Math.random() - 0.5Different every run

Sortieralgorithmen im Hintergrund

Wenn Array.sort() in JavaScript aufgerufen wird, verwendet die V8-Engine (Chrome, Node.js) seit 2019 Timsort. Andere Laufzeitumgebungen verwenden unterschiedliche Algorithmen. Die folgende Tabelle vergleicht die gängigsten Sortieralgorithmen in Standard-Bibliotheken von Programmiersprachen. Alle bewältigen die Zeilensortieraufgaben dieses Tools in unter einer Millisekunde für typische Eingaben (unter 100.000 Zeilen).

AlgorithmusVerwendet vonLaufzeitHinweise
TimsortPython, Java (Arrays.sort)O(n log n)Stable, fast on partially sorted data
QuicksortC stdlib, V8 (older)O(n log n)In-place, unstable by default
Merge sortMost stable-sort implementationsO(n log n)Stable, predictable, uses extra memory
IntrosortC++ std::sort, .NETO(n log n)Hybrid: quicksort + heapsort fallback
Radix sortFixed-length keys, integersO(nk)Non-comparative, linear for short keys

Code-Beispiele

Zeilen programmatisch in JavaScript, Python, Go und auf der Kommandozeile sortieren. Jedes Beispiel deckt alphabetisches, längenbasiertes und umgekehrtes Sortieren ab.

JavaScript
const text = `banana
apple
cherry
date
fig`

// Sort A-Z (locale-aware)
const az = text.split('\n').sort((a, b) => a.localeCompare(b)).join('\n')
// → "apple\nbanana\ncherry\ndate\nfig"

// Sort by line length, shortest first
const byLen = text.split('\n').sort((a, b) => a.length - b.length).join('\n')
// → "fig\ndate\napple\nbanana\ncherry"

// Reverse line order (no alphabetical sorting)
const reversed = text.split('\n').reverse().join('\n')
// → "fig\ndate\ncherry\napple\nbanana"

// Remove duplicates and sort
const unique = [...new Set(text.split('\n'))].sort().join('\n')
Python
text = """banana
apple
cherry
date
fig"""

lines = text.splitlines()

# Sort A-Z (case-insensitive)
az = sorted(lines, key=str.lower)
# → ['apple', 'banana', 'cherry', 'date', 'fig']

# Sort by line length
by_len = sorted(lines, key=len)
# → ['fig', 'date', 'apple', 'banana', 'cherry']

# Reverse original order
rev = lines[::-1]
# → ['fig', 'date', 'cherry', 'apple', 'banana']

# Shuffle randomly
import random
random.shuffle(lines)  # modifies in place
Go
package main

import (
	"fmt"
	"sort"
	"strings"
)

func main() {
	text := "banana\napple\ncherry\ndate\nfig"
	lines := strings.Split(text, "\n")

	// Sort A-Z
	sort.Strings(lines)
	fmt.Println(strings.Join(lines, "\n"))
	// → apple\nbanana\ncherry\ndate\nfig

	// Sort by length
	sort.Slice(lines, func(i, j int) bool {
		return len(lines[i]) < len(lines[j])
	})
	fmt.Println(strings.Join(lines, "\n"))
	// → fig\ndate\napple\nbanana\ncherry
}
CLI (bash)
# Sort lines A-Z
sort file.txt

# Sort lines Z-A (reverse)
sort -r file.txt

# Sort numerically (first field)
sort -n data.txt

# Sort by line length (awk + sort + cut)
awk '{ print length, $0 }' file.txt | sort -n | cut -d' ' -f2-

# Shuffle lines randomly
shuf file.txt          # GNU coreutils
sort -R file.txt       # alternative (not truly uniform)

# Sort and remove duplicates
sort -u file.txt

Häufig gestellte Fragen

Was ist der Unterschied zwischen A-Z-Sortierung und Natural Sort?
A-Z-Sortierung (lexikografisch) vergleicht Zeichen anhand ihres Unicode-Codepunkts. Das bedeutet: "item10" wird vor "item2" einsortiert, weil das Zeichen '1' einen niedrigeren Codepunkt hat als '2'. Natural Sort behandelt eingebettete Zahlen als numerische Werte, sodass "item2" vor "item10" kommt. Dieses Tool verwendet gebietsschema-bewusstes lexikografisches Sortieren via localeCompare(), das Akzentzeichen korrekt behandelt, aber kein Natural Sort für Zahlen durchführt.
Wird mein Text beim Sortieren an einen Server gesendet?
Nein. Die gesamte Sortierung erfolgt im Browser mit der JavaScript-Methode Array.sort(). Der Text verlässt das Gerät nicht. Dies lässt sich überprüfen, indem man den Netzwerk-Tab in den DevTools öffnet und bestätigt, dass beim Einfügen und Sortieren von Text keine Anfragen gestellt werden.
Wie viele Zeilen kann dieses Tool verarbeiten?
Das Tool funktioniert gut mit Zehntausenden von Zeilen. Javascripts Timsort-Implementierung in V8 verarbeitet 100.000 Zeilen in unter 100 Millisekunden auf moderner Hardware. Für Dateien größer als einige Megabyte ist ein CLI-Tool wie der Unix-Befehl sort effizienter, da er festplattenbasiertes Merge-Sort und mehrere Threads nutzen kann.
Wie funktioniert die Groß-/Kleinschreibung-unabhängige Sortierung?
Dieses Tool verwendet String.localeCompare() mit der Option { sensitivity: 'base' }, die den Vergleich Groß-/Kleinschreibung-unabhängig macht, sodass "Apple" und "apple" zusammen sortiert werden statt in getrennten Gruppen. Standardmäßig ist localeCompare() Groß-/Kleinschreibung-sensitiv; die explizite Option ist für Groß-/Kleinschreibung-unabhängiges Verhalten erforderlich. Wer strenge Groß-/Kleinschreibung-sensitive Sortierung benötigt, bei der Großbuchstaben zuerst kommen, erhält dieses Verhalten mit dem Unix-Befehl sort ohne das Flag -f.
Kann ich Zeilen gleichzeitig sortieren und Duplikate entfernen?
Dieses Tool sortiert Zeilen, entfernt jedoch keine Duplikate. Um doppelte Zeilen zu entfernen, das Tool Duplicate Line Remover in derselben Kategorie verwenden. Den Text hier zuerst sortieren, dann das Ergebnis in den Duplikat-Entferner einfügen, um eine saubere, eindeutige und sortierte Liste zu erhalten.
Was ist der Unterschied zwischen umgekehrter Sortierung und Z-A-Sortierung?
Umgekehrte Sortierung dreht die ursprüngliche Zeilenreihenfolge um: die letzte Zeile wird zur ersten, die vorletzte zur zweiten und so weiter. Kein alphabetischer Vergleich findet statt. Z-A-Sortierung ordnet Zeilen in absteigender alphabetischer Reihenfolge unabhängig von ihrer ursprünglichen Position. Wenn die Eingabe bereits A-Z sortiert ist, liefern umgekehrte Sortierung und Z-A dasselbe Ergebnis, bei unsortierter Eingabe unterscheiden sich die Ergebnisse jedoch.
Wie sortiere ich Zeilen nach einer bestimmten Spalte oder einem bestimmten Feld?
Dieses Tool sortiert nach dem gesamten Zeileninhalt. Um nach einer bestimmten Spalte zu sortieren (z. B. das zweite Feld in einer tabulator-getrennten Datei), den Unix-Befehl sort mit dem Flag -k verwenden: sort -t$'\t' -k2,2 file.txt. In Python jede Zeile aufteilen und eine Schlüsselfunktion verwenden: sorted(lines, key=lambda x: x.split('\t')[1]).