Befehle · 2 min read · Sep 15, 2025
Linux expand Befehl Tutorial für Anfänger (mit Beispielen)
Während der Arbeit in der Befehlszeile in Linux kann es vorkommen, dass die Anforderung besteht, Tabs in einer Datei durch Leerzeichen zu ersetzen. Die Aufgabe ist nicht schwierig, wenn die Datei klein ist, aber was ist, wenn die Datei, mit der Sie es zu tun haben, riesig ist oder schlimmer noch, es gibt Hunderte von Dateien, in denen Sie diese Änderung vornehmen müssen?
Keine Sorge, es gibt ein Befehlszeilenwerkzeug, das speziell für diese Arbeit entwickelt wurde. Das betreffende Werkzeug ist expand, und in diesem Tutorial werden wir die Grundlagen von expand anhand einiger leicht verständlicher Beispiele besprechen. Aber bevor wir das tun, ist es erwähnenswert, dass alle hier genannten Befehle und Anweisungen auf Ubuntu 16.04LTS getestet wurden.
Linux expand Befehl
Der expand Befehl, wie bereits erwähnt, ermöglicht es Ihnen, Tabs in Leerzeichen umzuwandeln. Folgendes ist die Syntax des Befehls:
expand [OPTION]... [FILE]...So definiert die Man-Seite des Werkzeugs:
Konvertiere Tabs in jeder DATEI in Leerzeichen und schreibe in die Standardausgabe. Ohne DATEI oder wenn DATEI - ist, lies die Standard-Eingabe.Die folgenden Beispiele im Frage-Antwort-Stil sollten Ihnen eine bessere Vorstellung davon geben, wie der expand Befehl funktioniert.
Q1. Wie konvertiere ich Tabs in Leerzeichen mit dem expand Befehl?
Die grundlegende Verwendung von expand ist sehr einfach: Übergeben Sie den Namen der Datei (die Tabs enthält) als Argument an das Werkzeug.
Zum Beispiel:
expand file1Das war’s. Das Werkzeug gibt den Inhalt der Datei in der Ausgabe aus, wobei die einzige Änderung darin besteht, dass Leerzeichen anstelle von Tabs verwendet werden. Beachten Sie, dass Sie, falls Sie eine solche Änderung in mehreren Dateien vornehmen möchten, einfach alle Dateinamen als Eingabe übergeben können, und die Tabs werden in allen Dateien auf einmal in Leerzeichen umgewandelt.
Natürlich können Sie die Ausgabe leicht in eine andere Datei umleiten, indem Sie den Umleitungsoperator verwenden.
expand file1>file2Q2. Wie begrenze ich die Auswirkungen von expand nur auf die anfänglichen Tabs?
Manchmal möchten Sie möglicherweise nur die Tabs konvertieren, die vor Zeilen stehen, und die, die nach nicht-leeren Zeichen erscheinen, unverändert lassen. Der expand Befehl ermöglicht Ihnen dies ebenfalls, Sie müssen nur die -i Befehlszeilenoption verwenden.
expand -i file1Q3. Wie ändere ich die Anzahl der Leerzeichen, in die Tabs umgewandelt werden?
Standardmäßig konvertiert expand Tabs in die entsprechende Anzahl von Leerzeichen. Wenn Sie möchten, können Sie jedoch die Anzahl der Leerzeichen mit der -t Befehlszeilenoption anpassen. Diese Option erfordert, dass Sie die neue Anzahl von Leerzeichen eingeben.
Zum Beispiel werden in unserem Fall Tabs standardmäßig in 4 Leerzeichen umgewandelt. Um diese Leerzeichen auf 1 zu reduzieren, verwendeten wir den folgenden Befehl:
expand -t1 file1Bitte beachten Sie, dass, wenn keine Datei als Eingabe an dieses Werkzeug übergeben wird oder Sie einen Bindestrich ‘-‘ als Dateinamen übergeben, der Eingabewert von der Standard-Eingabe (STDIN) gelesen wird.
Fazit
Der expand Befehl bietet eine begrenzte Anzahl von Funktionen, aber da das Werkzeug für einen sehr spezifischen Zweck erstellt wurde, sind die Optionen, die es bietet, mehr als ausreichend. Üben Sie einfach, was Sie gelesen haben, und Sie sollten in der Lage sein, das Werkzeug sofort zu verwenden. Interessierte können die Man-Seite des Befehls hier aufrufen.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.