Wie entferne ich Strg-M aus Dateien, in denen dos2unix, perl, tr und sed nicht vorhanden sind?

Wie entferne ich Strg-M aus Dateien, in denen dos2unix, perl, tr und sed nicht vorhanden sind?

Angenommen, Sie arbeiten auf einem sehr alten Unix-Server, auf dem dos2unix, perl, tr, und sednicht vorhanden sind. Wie können Sie Dateien vonDOSZuUnixFormat?

Antwort1

Ich glaube, Sie meinen das Entfernen des Zirkumflex-M am Zeilenende. Sie können dazu die Suchen- und Ersetzen-Funktion in vi verwenden.

In vi mache ich normalerweise Folgendes: (wobei „^“ für STRG steht):

:%s/^V^M//g

Auf dem Bildschirm wird Folgendes angezeigt:

:%s/^M//g

Antwort2

Ein Server ohne troder sedmüsste wirklich alt sein, oder es fehlen einige grundlegende Befehle. Hoffentlich edgibt es; es existierte inUnix, erste Ausgabe.

ed /path/to/file
1,$s/^V^M$//
w
q

wobei + und dann + ^V^Meingegeben werden müssen (um einen wörtlichen Zeilenvorschub einzugeben). Wenn Sie wissen, dass alle Zeilen mit CR LF enden, können Sie stattdessen verwenden (entfernen Sie wahllos das letzte Zeichen in jeder Zeile).CtrlVCtrlM1,$s/.$//

verwandte Informationen