Hervorragende Software und praktische Tutorials
So entfernen Sie \r in einer Windows-Datei unter Linux
LinuxKopieren Sie die in vim geschriebene Datei test.txt nachFensterWenn Sie ein Linux-Shell-Skript unter Windows schreiben und es nach Linux kopieren, treten Probleme auf. Das Problem liegt inZeilenumbrüche^M auf dem Körper!
In Unix-Systemen endet jede Zeile mit "<换行>", das heißt "\n";
Unter Windows endet jede Zeile mit "<换行><回 车>", das heißt "\n\r".
Eine direkte Folge davon ist, dass beim Öffnen einer Datei unter Unix-System in Windows der gesamte Text in eine Zeile umgewandelt wird.
Wenn eine Datei in Windows unter Unix geöffnet wird, kann am Ende jeder Zeile ein zusätzliches ^M-Symbol stehen.
Verwenden Sie vim zur Verarbeitung
Geben Sie im Vim-Befehlsmodus %s/^M$//g ein
Durch Drücken der Eingabetaste werden automatisch alle ^M-Zeichen in der Datei gelöscht.
Was bedeutet dieser Befehl? % bedeutet, dass die gesamte Datei abgeglichen werden soll, s bedeutet Ersetzung, ^M muss mit Strg + V Strg + M eingegeben werden, $ nach M bedeutet, dass der Inhalt am Zeilenende abgeglichen werden soll, und das letzte g bedeutet, dass der abgeglichene Inhalt in jeder Zeile ersetzt werden muss.
Sobald Sie die Bedeutung des Befehls verstanden haben, können Sie ihn flexibler verwenden. Wenn Sie beispielsweise alle Vim-Elemente in einer Datei durch VIM ersetzen möchten, können Sie einen Befehl wie diesen verwenden: :%s/Vim/VIM/g.
Methode 1: :%s/^M//g
Im Befehlsmodus: Geben Sie ein: %s/^M//g und drücken Sie dann die Eingabetaste, um
Beachten Sie, dass die Eingabe von „^M“ durch „Strg+v“ bzw. „Strg+M“ generiert wird.
Methode 2::set fileformat=unix
Öffnen von Textdateien mit vi
vi Der Name der zu bearbeitenden Datei
Im Befehlsmodus eingeben
:set fileformat=unix
:w
Methode 3: Verwenden des Sed-Tools
Verwenden des sed-Tools
sed 's/^M//' Dateiname > temporärer Dateiname
Methode 4: tr -d '\r'
Da unter Windows im Wagenrücklaufzeichen ein zusätzliches „\r“ vorhanden ist, können Sie durch Löschen von „\r“ natürlich auch Folgendes erreichen:
tr -d '\r'
Methode 5: dos2unix-Befehl (am häufigsten verwendete Methode)
dos2unix-Befehl:
dos2unix Der Name der zu konvertierenden Datei
Konvertieren Sie Dateien direkt in das Unix-Format
Mit der obigen Methode können unter Windows bearbeitete Dateien in Dateien konvertiert werden, die unter Linux gelesen werden können.