Was sind Zeilenumbrüche?

Ein Zeilenumbruch (auch Newline oder End-of-Line-Sequenz genannt) ist ein Sonderzeichen oder ein Zeichenpaar, das markiert, wo eine Textzeile endet und die nächste beginnt. Es gibt drei unterschiedliche Konventionen zwischen Betriebssystemen: LF (\n, ein einzelnes Linefeed-Zeichen), CRLF (\r\n, ein Carriage Return gefolgt von einem Linefeed) und CR (\r, ein eigenständiger Carriage Return).

Der Unterschied stammt aus der frühen Computerhardware. Schreibmaschinen erforderten zwei physische Schritte, um eine neue Zeile zu beginnen — den Schlitten an den Anfang zurückbewegen (CR) und das Papier um eine Zeile voranbewegen (LF). Unix-Systeme übernahmen in den 1970er Jahren nur LF, während MS-DOS und später Windows die vollständige CR+LF-Sequenz beibehielten. Das klassische Mac OS (vor OS X) verwendete nur CR, obwohl modernes macOS der Unix-LF-Konvention folgt.

Gemischte Zeilenumbrüche sind häufig in Dateien, die auf mehreren Plattformen bearbeitet, zwischen Systemen übertragen oder aus verschiedenen Quellen zusammengefügt wurden. Sie können subtile Fehler in Skripten, Build-Tools und Versionskontrollsystemen verursachen.

Werkzeugbeschreibung

Dieses Werkzeug analysiert Text oder eine Datei und erkennt, welche Zeilenumbruchtypen vorhanden sind. Es zählt jeden Typ einzeln — CRLF, LF und CR — und meldet den gesamten Zeilenumbruchstil (einschließlich ob die Datei gemischte Umbrüche hat). Es bietet auch grundlegende Zeilenstatistiken: Gesamtzeilenanzahl, längste Zeile, kürzeste Zeile und durchschnittliche Zeilenlänge.

Funktionen

  • Erkennt alle drei Zeilenumbruchtypen: CRLF (Windows), LF (Unix/macOS) und CR (klassisches Mac)
  • Identifiziert gemischte Zeilenumbrüche und kennzeichnet den dominanten Stil
  • Akzeptiert sowohl eingefügten Text über einen Code-Editor als auch hochgeladene Dateien in jedem Textformat
  • Zählt jeden Zeilenumbruchtyp unabhängig ohne Doppelzählung
  • Meldet Gesamtzeilenanzahl, längste Zeile, kürzeste Zeile und durchschnittliche Zeilenlänge

Anwendungsfälle

  • Debugging von plattformübergreifenden Build-Fehlern — Skripte oder Konfigurationsdateien mit unerwartetem CRLF-Umbruch funktionieren oft nicht auf Unix-Servern; verwenden Sie dieses Werkzeug, um Zeilenumbrüche vor der Bereitstellung zu bestätigen
  • Vorbereitung zur Code-Überprüfung — überprüfen Sie, dass eine Datei von einem Windows-Rechner die erwartete LF-Konvention des Projekts verwendet, bevor Sie sie committen
  • Audit von Textdateien — inspizieren Sie schnell Log-Dateien, CSVs oder Datenexporte, um ihre Struktur zu verstehen, bevor Sie sie programmgesteuert analysieren

Funktionsweise

CRLF-Sequenzen (\r\n) werden zuerst mit einem Regex-Match erkannt und gezählt. Die gefundenen Paare werden dann aus der Zeichenkette entfernt, bevor eigenständige LF (\n) und CR (\r) Zeichen separat gezählt werden. Dies verhindert, dass ein einzelnes \r\n sowohl als CR als auch als LF gezählt wird. Zeilenstatistiken werden abgeleitet, indem der ursprüngliche Text nach allen drei Zeilenumbruchmustern aufgeteilt wird.