Textdateien mit Windows & DOS Zeilenumbrüchen für Linux korrigieren

Shellscripte mit Windows / DOS Zeilenumbrüchen funktionieren leider nur eingeschränkt unter Linux. Die einfache Zeile „wget bla“ in einer Textdatei mit DOS Zeilenumbrüchen führt zu der Fehlermeldung das die Datei „bla%0D“ nicht gefunden wurde.
Dies entsteht da die Linux Zeilenumbrüche nur aus einem Zeilenumbruch-Zeichen (newline[\n]) bestehen. Unter DOS und Windows steht am ende jeder Zeile vor dem Zeilenumbruch-Zeichen noch ein Wagenrücklauf-Zeichen (carriage return [CR, \r, 0x0d}). (Merkhilfe für die Reihenfolge beim Zeilenumbruch return)

Ich habe mit mehrere Beispiele herausgesucht wie die Zeilenumbrüche korrigiert werden können.

Die Original Datei:

Der Inhalt der Datei:

Die mir bekannten Varianten die Zeilenumbrüche in der Datei zu korrigieren:

dos2unix (Der Standard weg um die Zeilenumbrüche umzuwandeln!)

Umwandlung mit Hilfe von sed (stream editor):

Wenn es auch kein sed auf dem System geben sollte geht auch tr:

oder awk:

und in Perl:

im Editor vi und vim geht es mit folgender Eingabe:
:%s/\r//g
oder
:1,$ s/^M//

Es gibt noch viele weitere Möglichkeiten!
Ich freue mich über Deinen Kommentar, welche Möglichkeit Du gefunden hast die Zeilenumbrüche zu korrigieren!

Scan to Donate Bitcoin
Like this? Donate Bitcoin to at:
Bitcoin 17g7tgR4KYKSqS1f8LUCpLEeum4PAcnGbo
Donate

der_metzger

Hi, ich bin Jan Kuehnel – Fachinformatiker für Systemintegration ,Linux-Benutzer und Blogger. Ich arbeite seit 10 Jahren im Technischen Support eines großen Providers in Deutschland und folge seit meiner Kindheit dem Hobby, technische Rätsel zu lösen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

%d Bloggern gefällt das: