GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So entfernen Sie alle Leerzeichen aus einer Textdatei

Die Arbeit unter einer Linux-Betriebssystem-Distribution gibt Ihnen eine einzigartige Perspektive darauf, wie wandelbar die Computerwelt sein kann. Beispielsweise kann das Entfernen von Leerzeichen in Textdateien nach einer mühsamen Aufgabe klingen, es sei denn, Sie verwenden Linux als primäres Betriebssystem.

Leerzeichen sind nicht nur horizontal wie die Abstände von Wörtern in diesem Artikel oder andere druckbare Zeichen. Leerzeichen existieren auch als vertikaler Abstand von Zeilen und/oder Absätzen. Warum also Leerzeichen entfernen? Der Hauptgrund besteht darin, das Aussehen Ihrer Zieltextdatei zu bereinigen.

Referenztextdatei

Betrachten Sie die folgende Beispieltextdatei.

$ sudo nano sample_file.txt 

Gemäß der obigen Bildschirmaufnahme können wir offensichtlich feststellen, dass die Textdatei Symptome sowohl vertikaler als auch horizontaler Leerzeichen aufweist. Wir können den cat-Befehl plus -n verwenden Option zum Öffnen dieser Datei in einer nummerierten Ansicht.

$ cat -n sample_file.txt

Zu den offensichtlichen Leerzeichen in einer Textdatei gehören Leerzeichen, Tabulatoren und Zeilenumbrüche. Um all diese Leerzeichen zu entfernen, werden wir die Hilfe und Verwendung von drei eingebauten Linux-Befehlen in Betracht ziehen.

Methode 1:Verwenden des tr-Befehls

Der tr-Befehl nimmt die obige Textdatei als Eingabe, übersetzt den Inhalt der Textdatei, löscht die Leerzeichen und schreibt danach eine Nicht-Leerzeichen-Ausgabe in die Datei zurück.

Wir müssen jedoch den tr-Befehl bereitstellen mit bestimmten Ausführungsanforderungen, d. h. ob horizontale Leerzeichen, vertikale Leerzeichen oder beides entfernt werden sollen.

Entfernen Sie horizontale Leerzeichen in der Datei

Wir verwenden den "[:blank:]" Zeichenoption als Teil eines Befehls und führen Sie anschließend den cat-Befehl aus um das endgültige Layout der Datei zu drucken.

$ tr -d "[:blank:]" < sample_file.txt | cat -n

Gemäß der obigen Ausgabe haben wir die horizontalen Leerzeichen erfolgreich aus der Textdatei in Linux entfernt.

Entfernen Sie alle Leerzeichen in der Datei

Der "[:space:]" Option wird verwendet, um sowohl horizontale als auch vertikale Leerzeichen aus einer Textdatei zu entfernen.

$ tr -d "[:space:]" < raw_file.txt | cat -n

Methode 2:Verwenden des sed-Befehls

Da der sed-Befehl allgemein mit regulären Ausdrücken implementiert wird, können wir ihn folgendermaßen verwenden:

$ sed 's/[[:blank:]]//g' sample_file.txt | cat -n               [Remove Horizontal Spaces]
$ sed ':a; N; s/[[:space:]]//g; ta' sample_file.txt | cat -n    [Remove All Spaces]

Methode 2:Verwenden des awk-Befehls

Dieses leistungsstarke Textverarbeitungsprogramm nutzt sein C-ähnliches Skript und andere integrierte Funktionen und Variablen, um die Textverarbeitung flexibel zu manipulieren.

Wir werden seine gsub-Funktion verwenden Gehen Sie wie folgt vor, um horizontale Leerzeichen zu entfernen.

$ awk '{gsub(/[[:blank:]]/,""); print}' sample_file.txt | cat -n 

Um alle Leerzeichen aus einer Textdatei zu entfernen, nehmen wir die folgende Änderung am obigen Befehl vor:

$ awk -v ORS="" '{gsub(/[[:space:]]/,""); print}' sample_file.txt | cat -n

Mit den oben diskutierten drei Ansätzen für Linux-Befehle sollte das Entfernen unerwünschter Leerzeichen in Ihren Textdateien unter Linux kein Problem sein.


Linux
  1. Wie entferne ich doppelte Zeilen in einer Textdatei?

  2. Effizient die ersten paar Zeilen aus einer Textdatei entfernen?

  3. Wie kann man unter Linux Binärdateien von Textdateien unterscheiden?

  4. Wie entferne ich Zeilenumbrüche aus einer Textdatei?

  5. Wie wähle ich den gesamten Text aus einer Datei mit Nano aus?

So entfernen Sie ein Passwort aus einer PDF-Datei unter Linux

So zeigen Sie Daten aus einer Textdatei in Linux an

So extrahieren Sie E-Mail-Adressen aus einer Textdatei unter Linux

So entfernen Sie Zeilen aus einer Datei mit dem Sed-Befehl

So entfernen Sie (^M) Zeichen aus einer Datei in Linux

Wie entferne ich Swap Space von Centos 7.x?