So entfernen Sie Wagenrücklaufzeichen aus Text in Linux

So entfernen Sie Wagenrücklaufzeichen aus Text in Linux

Machen Sie sich keine Sorgen, wenn Sie das Wagenrücklaufzeichen ( Ctrl+M ) nervös macht. Es gibt mehrere einfache Möglichkeiten, sie zu beseitigen.

Das Zeichen für den „Wagenrücklauf“ hat eine lange Geschichte – bis in die Zeit, als Schreibmaschinen über einen Mechanismus oder Hebel verfügten, der den Rahmen mit den Papierwalzen nach rechts bewegte, sodass auf der linken Seite erneut Buchstaben eingegeben werden konnten. Sie haben es für Textdateien unter Windows beibehalten, aber nie auf Linux-Systemen. Diese Inkompatibilität kann manchmal Probleme verursachen, wenn Sie versuchen, unter Linux mit unter Windows erstellten Dateien zu arbeiten. Das Problem lässt sich jedoch sehr leicht beheben.

Wenn Sie od verwenden ( Oktaler Dump Oktaldump ) wird das Wagenrücklaufzeichen (auch durch Ctrl+M dargestellt) als Oktalzahl 15 angezeigt. Die Zeichen CRLF werden häufig verwendet, um die Wagenrücklauf- und Zeilenvorschubsequenz darzustellen, die eine Zeile in Windows-Textdateien beendet. Wer auf den Oktaldump achtet, wird \r\n sehen. Im Gegensatz dazu endet Linux-Text nur mit einem Zeilenumbruchzeichen.

Hier ist ein Beispiel einer od Ausgabe, bei der CRLF Zeichen in der Zeile zusammen mit ihren Oktaläquivalenten hervorgehoben sind.

$ od -bc testdatei.txt
0000000 124 150 151 163 040 151 163 040 141 040 164 145 163 164 040 146
  Dieser Test
0000020 151 154 145 040 146 162 157 155 040 127 151 156 144 157 167 163
  ilefrom Windows
0000040 056 015 012 111 164 047 163 040 144 151 146 146 145 162 145 156 <==
  . \r \n Es ist anders <==
0000060 164 040 164 150 141 156 040 141 040 125 156 151 170 040 164 145
  tthana U nixte
0000100 170 164 040 146 151 154 145 015 012 167 157 165 154 144 040 142 <==
  xt-Datei \r \nwürdeb <==

Obwohl diese Zeichen kein großes Problem darstellen, können sie manchmal störend sein, wenn Sie den Text irgendwie analysieren möchten und ihr Vorhandensein nicht kodieren möchten.

3 Möglichkeiten zum Entfernen von Wagenrückläufen aus Text

Glücklicherweise gibt es mehrere Möglichkeiten, das Wagenrücklaufzeichen einfach zu entfernen. Es gibt drei Möglichkeiten:

dos2unix

Möglicherweise haben Sie Probleme bei der Installation, aber dos2unix ist wahrscheinlich die einfachste Möglichkeit, Windows-Text in Unix/Linux-Text umzuwandeln. Ein Befehl benötigt einen Parameter. Es ist kein zweiter Dateiname erforderlich. Die Datei wird direkt geändert.

$ dos2unix testfile.txt
dos2unix: Konvertierung der Datei testfile.txt in das Unix-Format …

Sie werden feststellen, dass die Dateilänge abhängig von der Anzahl der enthaltenen Zeilen abnimmt. Eine Datei mit 100 Zeilen kann um 99 Zeichen reduziert werden, da nur die letzte Zeile nicht mit einem CRLF -Zeichen endet.

Vor:

-rw-rw-r-- 1 shs shs 121 Sep 14 19:11 testdatei.txt

nach:

-rw-rw-r-- 1 shs shs 118 14. September 19:12 testdatei.txt

Wenn Sie viele Dateien konvertieren müssen, reparieren Sie sie nicht einzeln. Legen Sie sie stattdessen alle in ein Verzeichnis und führen Sie einen Befehl wie den folgenden aus:

$ finde . -type f -exec dos2unix {} \;

In diesem Befehl verwenden wir find , um normale Dateien zu finden, und führen dann den Befehl dos2unix aus, um sie einzeln zu konvertieren. {} im Befehl werden durch den Dateinamen ersetzt. Beim Ausführen sollten Sie sich im Verzeichnis befinden, das die Datei enthält. Dieser Befehl kann andere Dateitypen beschädigen, beispielsweise Dateien, die Oktalzahlen 15 in anderen Kontexten als Textdateien enthalten (z. B. Bytes in einer Bilddatei).

sed

Sie können auch den Stream-Editor sed verwenden, um die Wagenrückläufe zu entfernen. Sie müssen jedoch einen zweiten Dateinamen angeben. Hier sind einige Beispiele:

$ sed -e „s/^M//“ vor.txt > nach.txt

Ein ganz wichtiger Punkt ist zu beachten: Geben Sie die angezeigten Zeichen nicht ein. Sie müssen Ctrl+V und anschließend Ctrl+M drücken, um ^M einzugeben. s ist der Ersatzbefehl. Der Schrägstrich trennt den Text, den wir suchen möchten ( Ctrl + M ), und den Text, durch den wir ihn ersetzen möchten (hier nichts).

vi

Sie können vi sogar verwenden, um die Wagenrückläufe zu entfernen ( Ctrl+M ), dies setzt allerdings voraus, dass Sie nicht Hunderte von Dateien geöffnet haben und vielleicht andere Änderungen vornehmen. Sie können : eingeben, um die Befehlszeile aufzurufen, und dann die folgende Zeichenfolge eingeben. Wie bei sed muss ^M im Befehl mit Ctrl+V ^ werden, und dann Ctrl+M um M einzufügen. %s ist die Ersetzungsoperation und der Schrägstrich trennt erneut das Zeichen, das wir löschen möchten, und den Text (nichts), durch den wir es ersetzen möchten. g (global) bedeutet, dass es auf allen Zeilen ausgeführt wird.

:%s/^M//g

Zusammenfassen

Der Befehl dos2unix ist wahrscheinlich die am einfachsten zu merkende und zuverlässigste Methode, Wagenrückläufe aus einem Text zu entfernen. Die anderen Optionen sind etwas schwieriger zu verwenden, bieten aber die gleiche Grundfunktionalität.

über: https://www.networkworld.com/article/3438857/how-to-remove-carriage-returns-from-text-files-on-linux.html

Zusammenfassen

Oben ist die Methode, die ich Ihnen vorgestellt habe, um das Wagenrücklaufzeichen im Text unter Linux zu löschen. Ich hoffe, sie wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Linux-Tutorial zum Ersetzen von Zeichenfolgen mit dem Befehl sed
  • Linux-Sonderzeichen und ihre Funktionen
  • In Linux-Shell-Strings integrierte allgemeine Operationen (Länge ermitteln, Suchen, Ersetzen)
  • So verketten Sie Zeichenfolgen in einem Linux-Shell-Skript
  • Zwei Methoden für die Linux-Shell, um einzelne Zeichen in einem vom Benutzer eingegebenen Bereich abzurufen
  • Enzyklopädie zur String-Verarbeitung unter Linux Bash

<<:  Vue implementiert ein einfaches Einkaufswagenbeispiel

>>:  So generieren Sie MySQL-Beispielcodes für die stapelweise Generierung einer Tabelle mit nicht duplizierten Mobiltelefonnummern

Artikel empfehlen

MySQL Flush-List und Flushing-Mechanismus für Dirty Pages

1. Überprüfung Der Pufferpool wird nach dem Start...

Vue + Element + OSS realisiert das Hochladen von Front-End-Fragmenten und die Wiederaufnahme von Haltepunkten

Reine Front-End-Implementierung:切片上傳斷點續傳.斷點續傳muss...

So verwenden Sie Webstorm und Chrome zum Debuggen von Vue-Projekten

Inhaltsverzeichnis Vorwort 1. Erstellen Sie ein n...

Webdesign-Tipps für Formular-Eingabefelder

Dieser Artikel listet einige Tipps und Codes zu F...

Implementierung der Leistungsoptimierung des Element-Shuttle-Frames

Inhaltsverzeichnis Hintergrund Lösung Neue Fragen...

So löschen und deinstallieren Sie MySQL in Windows 10 vollständig

Vorwort Dieser Artikel enthält eine Anleitung zum...

Wissen Sie, warum Vue-Daten eine Funktion sind?

Erklärung auf der offiziellen Website: Wenn eine ...

Implementierung der gemeinsamen Nutzung von Daten zwischen Docker Volume-Containern

Was ist Volumen? „Volume“ bedeutet auf Englisch K...

Vue implementiert das Ziehen und Sortieren von Bildern

In diesem Artikelbeispiel wird der spezifische Co...

Detailanalyse der MySQL-Berechtigungskontrolle

Inhaltsverzeichnis 1. Globale Ebene 2. Datenbanke...

Jmeter stellt eine Verbindung zum Datenbankprozessdiagramm her

1. Laden Sie den MySQL-JDBC-Treiber (mysql-connec...

Beispiel für einen Fork- und Mutex-Lock-Prozess im Linux-Multithreading

Inhaltsverzeichnis Frage: 1. Erster Versuch 2. Ra...