Ersetzen Sie alle TAB-Zeichen durch Leerzeichen
Wenn Sie viele Tabulatorzeichen in einem Textdokument oder einer Programmdatei haben, können diese ärgerlich sein, da sie in verschiedenen Texteditoren unterschiedlich dargestellt werden. Wenn Sie beispielsweise Ihren Code an eine andere Person senden, wird er auf dem Bildschirm auf die gleiche Weise angezeigt wie auf Ihrem? Tabulatoren sind in dieser Hinsicht etwas unvorhersehbar, und Leerzeichen sind eine viel sicherere Wahl.
In dieser Anleitung zeigen wir, wie Sie unter Linux alle Tabulatorzeichen in einer Datei durch Leerzeichen ersetzen können. Wir können verschiedene Linux-Befehle verwenden, um die Arbeit für uns zu erledigen, auf die wir weiter unten eingehen werden. Abhängig von Ihrer Situation und der betreffenden Datei können einige Befehle besser geeignet sein als andere.
In diesem Tutorial lernen Sie:
- So ersetzen Sie Tabulatorzeichen durch Leerzeichen
Ersetzen aller Tabulatorzeichen durch Leerzeichen unter Linux
Tabulatorzeichen durch Leerzeichen ersetzen
Sehen Sie sich einige der folgenden Beispiele an, um zu entscheiden, welchen Befehl Sie für Ihre Datei(en) ausführen möchten.
Der folgende
sed-Befehlersetzt jedes Tabulatorzeichen durch fünf Leerzeichen. Dabei wird ein nativer Linux-Befehl verwendet, sodass keine zusätzliche Software erforderlich ist, Sie müssen jedoch einen neuen Namen für die Datei angeben.sed 's/\t/ /g' tab-file.txt > no-tab-file.txtWie Sie in der Abbildung unten sehen können, hat die Datei mit den Leerzeichen für das menschliche Auge einen viel gleichmäßigeren Abstand.
Um zu vermeiden, dass eine neue Datei erstellt wird, können Sie die Option
-i(an Ort und Stelle) mitsedverwenden.sed -i 's/\t/ /g' tab-file.txtUm die Tabulatorzeichen in vielen Dateien zu ersetzen, z.B. in allen
.txtDateien in einem Verzeichnis, können Sie den Befehlsedmit einem Platzhalter verwenden.sed -i 's/\t/ /g' *.txtUm diesen Befehl rekursiv auszuführen, können wir den Befehl
findverwenden. In diesem Beispiel werden alle Registerkarten in.txtDateien ersetzt.find . -type f -name "*.txt" -exec sed -i 's/\t/ /g' {} \;Beachten Sie, dass es eine Handvoll anderer Befehlszeilentools gibt, die diese Aufgabe ebenfalls ausführen können, wie z. B.
perl.perl -p -e 's/\t/ /g' tab-file.txt > no-tab-file.txtOder nehmen Sie zum
Beispiel diesenErweiterungsbefehl, der nur führende Tabulatoren in jeder Zeile ersetzt und sie durch vier Leerzeichen ersetzt.expand -i -t 4 tab-file.txt > no-tab-file.txt
Ersetzen aller Tabulatorzeichen durch Leerzeichen unter Linux
Abschließende Gedanken
In dieser Anleitung haben wir gesehen, wie man unter Linux alle Tabulatorzeichen durch Leerzeichen in einer Datei ersetzt. Wir sind in der Lage, dies mit dem nativen Befehl sed und rekursiv mit Hilfe von find zu tun. Es gibt auch die Dienstprogramme perl und expand, die diese Aufgabe ebenfalls erledigen können. Wie bei vielen Dingen unter Linux gibt es Hunderte von Möglichkeiten, diese einfache Aufgabe zu erfüllen. Wir haben Ihnen einige der einfachsten und besten Methoden gezeigt.
