Windows-Zeilenumbrüche auf Linuxsystemen

Heute habe ich ein Bash-Script geschrieben, welches Zeile für Zeile in einer (Text-)Datei ausliest und diese und jene Sachen damit macht. Das ging solange gut, bis die Textdatei auf einem Windows-System geschrieben wurde. Denn Zeilenumbrüche werden in der Windows- und der Linuxwelt verschieden dargestellt…

  • Windows: CR+LF
  • Linux: LF

Es folgt ein kleines Beispiel, um das Problem zu verdeutlichen.
Eine Windows-Textdatei hat den Inhalt

Sehr geehrter Herr XYZ,
heute ist tolles Wetter.
Mit freundlichen Grüßen,
Ich

welcher in der Linux-Shell so aussieht:
Sehr geehrter Herr XYZ,heute ist tolles Wetter.Mit freundlichen Grüßen,Ich
Wie man sieht, es wird alles hintereinander weggeschrieben, womit mein Programm nicht mehr korrekt arbeiten konnte.

Meine Lösung hat folgenden Code:
tr -d '\015' < Win-Textdatei > Ausgabedatei
Damit werden die Zeilenumbrüche umgewandelt. Das Programm tr sollte in einer Standardinstallation von Ubuntu enthalten sein.

Es gibt natürlich noch andere Wege, aber wieso sollte man sich extra dafür ein Programm installieren? 😉

Share

1 Kommentar von "Windows-Zeilenumbrüche auf Linuxsystemen"

  1. huskynarr's Gravatar huskynarr
    19. März 2015 - 15:23 | Permalink

    Das Problem wird überwiegend dadurch verursacht, das Windows auf West-Iso Standard Arbeitet und Linux auf UTF-8, was oftmals u Problemen führt.
    Nicht nur beim Zeilenumbruch sondern, überwiegend bekannt durch Buchstaben die Länderspezifisch sind, Das heist.. bei den Deutschen die Umlaute Ö,Ä,Ü und ß.

Kommentar verfassen