^M am Ende jeder Zeile
Dieser Beitrag wurde vor über 3 Monaten veröffentlicht. Die darin beschriebenen Informationen sind mit Vorsicht zu geniessen, da sie bereits veraltet oder nicht mehr gültig sein könnten. Solltest du von Neuerungen oder Verbesserungen wissen, so freue ich mich über einen klärenden Kommentar.Soeben habe ich ein paar Anpassungen in einem File einer Internetplattform vorgenommen.
Als ich die Daten dann mit VI auf der Konsole geöffnet hatte, stand an jedem Ende einer Zeile ein ^M.
Dies kommt daher, dass die Datei unter Windows geschrieben wurde und dadurch ein anderes Fileformat enthält. Dadurch bildet VI jeden Zeilenumbruch durch ein ^M ab.
Wer häufig zwischen den beiden Welten Linux und Windows unterwegs ist, der hat sicher schon oft festgestellt, dass eine unter Linux verfasste Textdatei unter Windows plötzlich keine Zeilenumbrüche mehr hat.
Zuerst habe ich versucht, dieses Überbleibsel der Windows-Welt direkt in VI selbst zu ersetzen:
1 | %s/\^M//g |
Dies funktionierte leider nicht, wäre ja auch zu schön gewesen.
VI sucht mit diesem Kommando nach den Zeichen ^ und M. Leider ist der Zeilenumbruch aber nur abgebildet als ^M, nicht aber auch als solches abgespeichert, wodurch VI nie etwas finden wird.
Die Lösung schlussendlich war zwar nicht ganz so komfortabel wie direkt per VI, hat aber ihren Zweck voll und ganz erfüllt:
1 | perl -p -e 's/\r$//' < windowsdatei > linuxdatei |
Natürlich funktioniert das ganze auch für alle Verräter der Linuxwelt (kein Flame, nur Spass)
1 | perl -p -e 's/\n/\r\n/' < linudatei > windowsdatei |
-
stfischr
-
http://blog.256bit.org Christian
-
quintusfelix
-
http://campino2k.de Chris
-
http://blog.schaeufele.org/ daniel
-
http://kbct.de/ Knorkebrot
-
fedov
-
jeremias
-
togi
-
http://blog.rootserverexperiment.de/ Mattias (ohne ‘h’)
-
http://www.last.fm/user/bas89 bas89
-
http://demaya.de/wp demaya
-
http://my.opera.com/freedo/blog/ Fredo



