Ich bekomme ständig ^M
Zeichen in meiner vimrc und das macht meine Konfiguration kaputt.
Antworten
Zu viele Anzeigen?Ich habe sie alle mit sed entfernt:
sed -i -e 's/\r//g' <filename>
Kann auch durch eine andere Zeichenfolge oder ein anderes Zeichen ersetzt werden. Wenn es zum Beispiel noch keine Zeilenumbrüche gibt, können Sie \r
in \n
:
sed -i -e 's/\r/\n/g' <filename>
Diese sed
Befehle funktionieren unter der GNU/Linux-Version von sed
kann aber auf BSDs (einschließlich macOS) angepasst werden müssen.
Ich habe eine Textdatei, die ursprünglich auf einer Windows-Maschine von einem Mac-Benutzer erstellt wurde, und musste sie in eine Linux-MySQL-DB importieren, indem ich die load data
Befehl.
Obwohl VIM das Zeichen "^M" anzeigte, funktionierte keine der oben genannten Maßnahmen bei meinem speziellen Problem. Die Lösung war am Ende ziemlich einfach (nach viel Frustration).
Lösung: Ausführen von dos2unix
ZWEIMAL auf dieselbe Datei hat den Trick gemacht! Die Verwendung der file
zeigt an, was auf dem Weg dorthin passiert.
$ file 'file.txt'
file.txt: ASCII text, with CRLF, CR line terminators
$ dos2unix 'file.txt'
dos2unix: converting file file.txt to UNIX format ...
$ file 'file.txt'
file.txt: ASCII text, with CRLF line terminators
$ dos2unix 'file.txt'
dos2unix: converting file file.txt to UNIX format ...
$ file 'file.txt'
file.txt: ASCII text
Und die endgültige Version der Datei wurde perfekt in die Datenbank importiert.