
Angenommen, Sie arbeiten auf einem sehr alten Unix-Server, auf dem dos2unix
, perl
, tr
, und sed
nicht 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 tr
oder sed
müsste wirklich alt sein, oder es fehlen einige grundlegende Befehle. Hoffentlich ed
gibt es; es existierte inUnix, erste Ausgabe.
ed /path/to/file
1,$s/^V^M$//
w
q
wobei + und dann + ^V^M
eingegeben 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/.$//