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

Detaillierte Analyse von MySQL-Ausführungsplänen

Vorwort Als wir im vorherigen Interviewprozess na...

Grundsätze für die Bereitstellung und Konfiguration mehrerer Tomcat-Instanzen

1. Schalten Sie die Firewall aus und übertragen S...

So wählen Sie den richtigen MySQL-Datums-/Uhrzeittyp zum Speichern Ihrer Zeit

Beim Erstellen einer Datenbank und Schreiben eine...

Verwendung des optionalen Verkettungsoperators von JS

Vorwort Der optionale Verkettungsoperator (?.) er...

Automatisches Laden des Kernelmodul-Overlayfs-Vorgangs beim CentOS-Start

Um Kernelmodule in CentOS automatisch zu laden, k...

Detaillierte Analyse des Blockierungsproblems von js und css

Inhaltsverzeichnis DOMContentLoaded und laden Was...

Vue + Element realisiert Paging-Effekt

In diesem Artikelbeispiel wird der spezifische Co...

Zusammenfassung der Benutzererfahrung

Unabhängig davon, ob Sie an Software oder Websites...

10 beliebte Windows-Apps, die auch unter Linux verfügbar sind

Laut dem Datenanalyseunternehmen Net Market Share...

So finden Sie Websites mit SQL-Injection (unbedingt lesen)

Methode 1: Verwenden Sie die erweiterte Suche von...

Vue + Element UI realisiert Ankerpositionierung

In diesem Artikelbeispiel wird der spezifische Co...