Es ist Zeit für einen Umbruch!

Inhalte

Als wäre die IT Welt nicht schon so schwer genug, so gibt es nun auch noch unterschiedliche Zeilenenden-Zeichen in einer Dateie. In jeder Datei bzw. Textdatei befinden sich oftmals vielen Zeilen, die durch ein umbruch gekennzeichnet werden. Was das IT’ler Auge und ein Computer sieht, sind oftmals CR LF und NL-Zeichen. Doch was bedeuten sie? In dieser kurzen Doku werde ich euch die Welt der Umbrüche erklären. Los geht’s…

 

Allgemein

Egal ob jetzt das CR, LF oder das NL Zeichen. Alle besitzen und existieren eigentlich nur für einen Zweck. Die Zeichen werden von Editoren gelesen und als Zeilenenden intepretiert. An der Stelle, wo das Zeichen aufkommt wird für den Leser der Datei ein Zeilenumbruch hinzugefügt. Der Curser wandert demnach eine Zeile weiter nach unten. Warum gibt es nun drei verschiedene Zeichen? Nun, dies hängt wie bei fast alle IT-Technologien an der Historie; Viele verschiedene Betriebssystemen und viele Entwickler bauten auch unterschiedliche Zeilenenden Interpreter. Jedes Betriebssystem besaß auch ein eigenen Zeilenenden-Zeichen. Leider funktionieren alle Zeilenenden-Intepreter auch nicht auf allen Betriebystemen, dass durchaus zu fehlerhaften oder nur schwer lesbaren Dateien führen kann. Mit der Zeit schlugen sich drei wesentliche Interpreter durch. Das CR, LF und das NL-Zeichen. Inzwischen können jedoch fast alle Betriebssystemen mit unterschiedlichen Zeilenenden-Intepreter auskommen.

 

Standards

Grundsätzlich kann man jedoch sagen, dass innerhalb eines Betriebssystemes die Interpreter gleichgesetzt sind. D.h. das Betriebssystem wandelt nach dem schlagen der ENTER Taste auch entsprehende zeichen um. So wird bei Windows oftmals die Kombination aus CR und LF verwendet. In der Unix/Linux Welt wird oftmals das LF verwendet. Hingegen in der Mac Welt nur das CR-Zeichen benutzt wird. Als kurze Erläuterung:

CR = carriagte return
LF = linefeed
NL = new line

 

Umwandeln

Will man Dateien in das richtige Format umwandeln, so gibt es verschiedene Methoden, um diese zu tun. Einer der beliebtesten ist sicherlich die Umwandlung mithilfe des Editors Notepad++. Hierzu öffnen wir die Datei und gehen auf Bearbeiten -> Format Zeilenende -> FORMAT

dos2unix

Will man schnell auf einer Linux Maschine die Datei umwandeln, so kann man dies mit dem dos2unix oder unix2dos Tool ganz leicht machen.

$ dos2unix datei.txt

oder von Unix zu DOS(Windows)

$ unix2dos datei.txt

sed

Mithilfe des Linux Tools sed (stream editor) kann man die Zeilenenden auch per Suche & Ersetzen Funktion umwandeln. Hierzu folgenen Code nehmen:

$ sed 's/^M$//' datei_input.txt > datei_output.txt

oder von Unix zu DOS(Windows)

$ sed 's/$'"/`echo \\\r`/" datei_input.txt > datei_output.txt

Perl

Auch mithilfe der von Perl mitgelieferten Suche & Ersetzen Funktion kann man die Zeilenenden umwandeln.

perl -pi -e 's/\r\n/\n/g' input.file

tr

Ein tr gefällig? tr steht für translate ist für solche Aufgaben nahezu perfekt.

tr -d '\r' < datei_input.txt > datei_output.txt

Egal wie!, Fakt ist jedoch, dass du jetzt der Umbruch-Experte bist und du dich jetzt mit der Materie auskennst. Also ab in die Kaffeeküche deiner Firma und rumprahlen. Sicherlich gibt es viele viele andere Ideen, wie man Datein in das richtige Format umwandelt. Falls du ein anderen Weg kennst, kann du dies gerne in einem Kommentar hinterlassen.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.