Tag Archiv für DOS-Zeilenende

Konvertieren von Dateien mit DOS-Zeilenumbrüchen (^M) unter FreeBSD

Immer wieder hat man Dateien, bei denen man das DOS-Zeilenende ^M los werden will, vor allem wenn es um Webseiten geht, egal ob html oder php. Früher unter Linux oder dem 4er FreeBSD habe ich dafür immer dos2unix genommen, aber beim 6er FreeBSD ist der Port verschwunden und der Port /usr/ports/converters/dosunix erzielt zwar das gleiche Ergebnis, aber dazu muß man erst je eine Zieldatei mit anderem Namen erstellen und dann diese Datei in den ursprünglichen Namen umbenennen. Deshalb habe ich dann meistens doch andere Varianten gewählt, sobald ich mehr als 2 Dateien so bearbieten mußte. Wie üblich gibt es dazu wieder mehrere Möglichkeiten, die im FreeBSD Diary ausführlich beschrieben sind:

  • Der Perl-Klassiker: perl -pi -e "s:^V^M::g" <filenames>
  • cat <filename1> | tr -d "^V^M" > <newfile>
  • sed -e "s/^V^M//" <filename> > <output filename>
  • Die vi-Lösung: 1. hit the ESC key und 2. :%s/^V^M//

Meistens habe ich in letzter Zeit die perl und die sed-Variante genutzt. Aber im FreeBSD Diary Artikel findet sich ganz am Ende noch der Hinweis, daß das Programm dos2unix jetzt im Port /usr/ports/converters/unix2dos steckt. Und damit habe ich dann endlich wieder mein geliebtes altes dos2unix, mit dem das Konvertieren der Dateien in einem Rutsch geht (dos2unix *.php *,html *.css *.js). Da habe ich wohl beim Umstieg auf das 6er FreeBSD am Anfang nicht gut genug gesucht.