Befehle · 2 min read · Sep 18, 2025
Linux unexpand-Befehl für Anfänger erklärt (mit Beispielen)
Die Arbeit in der Linux-Befehlszeile erfordert, dass man lernt, wie man einige sich wiederholende Aufgaben schnell ausführt. Eine solche Aufgabe, in die Sie früher oder später verwickelt sein könnten, ist das Konvertieren von Leerzeichen in Tabs oder umgekehrt. In diesem Tutorial werden wir ein Befehlszeilenwerkzeug - genannt unexpand - besprechen, das in solchen Situationen von großem Nutzen sein wird.
Aber bevor wir beginnen, ist es erwähnenswert, dass alle Beispiele in diesem Artikel auf einer Ubuntu 16.04 LTS-Maschine getestet wurden.
Linux unexpand-Befehl
Der unexpand-Befehl ermöglicht es Ihnen, Leerzeichen in Tabs zu konvertieren. Folgendes ist seine Syntax:
unexpand [OPTION]... [DATEI]...Und so beschreibt die Man-Seite es:
Konvertiere Leerzeichen in jeder DATEI in Tabs und schreibe in die Standardausgabe. Ohne DATEI oder wenn DATEI - ist, lese die Standard-Eingabe.Folgend sind einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon geben sollten, wie der unexpand-Befehl funktioniert.
F1. Wie verwendet man den unexpand-Befehl?
Angenommen, Sie haben eine Datei mit Text, der Tabs enthält. Jetzt, aus welchem Grund auch immer, haben Sie diese Tabs mit dem expand-Befehl in Leerzeichen umgewandelt, und jetzt möchten Sie die Leerzeichen wieder in Tabs umwandeln, dann können Sie in diesem Fall den unexpand-Befehl verwenden.
Zum Beispiel:
unexpand datei1Das Tool produziert die konvertierte Ausgabe auf stdout. Um sie zu speichern, können Sie sie in eine Datei umleiten. Zum Beispiel:
unexpand datei1 > datei2Es ist erwähnenswert, dass dieses Tool standardmäßig nur auf anfängliche Leerzeichen funktioniert. Sie können die Option -a verwenden, um dem Dienstprogramm zu sagen, dass Sie alle Leerzeichen/Blanks in Tabs umwandeln möchten.
F2. Wie zwingt man unexpand, nur anfängliche/führende Leerzeichen zu konvertieren?
Das Tool bietet eine Option, die es zwingt, nur anfängliche Leerzeichen oder Leerzeichen zu konvertieren (auch wenn die -a-Option vorhanden ist). Die betreffende Option ist –first-only.
unexpand --first-only -a datei1 > datei2F3. Was macht die -t-Option?
Nun, die -t-Option hat mehrere Rollen. Sie akzeptiert entweder eine einzelne Zahl oder eine durch Kommas getrennte Liste von Zahlen. Wenn Sie eine einzelne Zahl (sagen wir ‘n’) übergeben, stellt der unexpand-Befehl sicher, dass er Leerzeichen in der Datei in Tabs an jeder ‘n’-Position komprimiert.
Zum Beispiel, um das Tool zu veranlassen, Leerzeichen in Tabs an jeder 3. Position zu komprimieren, verwenden Sie diese Option auf folgende Weise:
unexpand -t 3 datei1 > datei2Andererseits, wenn dieser Option eine durch Kommas getrennte Liste von Zahlen gegeben wird, platziert das Tool Tabstopps an diesen spezifischen Positionen.
unexpand -t 1,2,3 datei1 > datei2F4. Wie lässt man unexpand Eingaben von STDIN lesen?
Das ist ziemlich einfach - führen Sie einfach den Befehl ohne Dateinamen als Eingabe aus (verwenden Sie ctrl+D, um dem Dienstprogramm zu sagen, dass Sie fertig sind).
Hier ist, worüber ich spreche:
unexpandFazit
Je nach Art der Arbeit, die Sie tun, könnte der unexpand-Befehl von großem Nutzen sein. In diesem Tutorial haben wir die meisten der Befehlszeilenoptionen besprochen, die dieses Tool bietet. Um mehr zu erfahren, gehen Sie zu seiner Man-Seite.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.