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.