(convert spaces to tabs)
Das Kommando unexpand kopiert Dateien oder die Standard-Eingabe auf die Standard-Ausgabe. Dabei werden Leerzeichen am Beginn jeder Zeile in die maximale Anzahl von Tabulatorzeichen umgewandelt, gefolgt von der Mindestzahl von Leerzeichen, die zum Auffüllen der Zeile bis zu den Spaltenpositionen erforderlich sind, die ursprünglich von den umgewandelten Zeichen ausgefüllt waren.
Standardmäßig wird alle acht Spaltenpositionen ein Tabulatorstopp gesetzt. Alle Backspace-Zeichen werden auf die Ausgabe kopiert und verringern dabei den Spaltenzähler zur Berechnung der Tabulatorstopposition jeweils um 1. Der Spaltenzähler kann dabei nicht kleiner als eins werden.
Syntax
unexpand[ -a| -t tablist][ datei...] |
Nicht nur die Leerzeichen am Anfang jeder Zeile werden umgewandelt, sondern auch alle Folgen von zwei oder mehr Leerzeichen unmittelbar vor einem Tabulatorstopp werden in die maximale Anzahl von Tabulatorzeichen gefolgt von der Mindestzahl von Leerzeichen umgewandelt, die zum Auffüllen der Zeile bis zu den Spaltenpositionen erforderlich sind, die ursprünglich von den umgewandelten Leerzeichen ausgefüllt waren.
Gibt die Tabulatorstopps an. Das Argument tablist muss aus einer oder mehreren Zahlen in aufsteigender Reihenfolge bestehen, die durch Leerzeichen oder Kommas getrennt werden. Eine durch Leerzeichen getrennte Liste muss dabei in Anführungszeichen gesetzt werden. Wenn nur eine Zahl angegeben ist, werden die Standard-Tabulatorstopps nicht alle 8 Spaltenpositionen gesetzt, sondern alle tablist Spaltenpositionen. Sind mehrere Zahlen angegeben, werden die Tabulatorstopps an den angegebenen Spaltenpositionen gesetzt. Jede Tabulatorstopposition N muss ein ganzzahliger Wert größer null sein, und die Angaben müssen unbedingt in aufsteigender Reihenfolge erfolgen. Dies bedeutet, dass beim Springen mit der Tabulatortaste vom Anfang der Ausgabezeile zu Position N die nächste Zeichenausgabe in der (N+1)ten Spaltenposition in der Zeile erfolgt. Für Zeichen, die sich an einer Position hinter der letzten Position, die in einer Liste mit mehreren Tabulatorstopps definiert wurde, befinden, erfolgt keine Umwandlungen von Leer- in Tabulatorzeichen. Bei Angabe von -t ist die Umwandlung von Leerzeichen nicht auf die führenden Leerzeichen beschränkt. -a wird in diesem Fall ignoriert.
Die Datei, deren Leerzeichen durch Tabulatorzeichen ersetzt werden sollen. |
Internationale Umgebung
Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos unexpand: LANG Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden. LC_ALL Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen. LC_CTYPE Legt die internationale Umgebung für die Interpretation von Byte-Folgen als Zeichen fest (z.B. Einzelbytezeichen im Unterschied zu Mehrbytezeichen in Argumenten und Eingabedateien). Außerdem wird die internationale Umgebung für die Verarbeitung von Tabulator- und Leerzeichen sowie für die Angabe der Spalten festgelegt, die jedes Zeichen auf einem Ausgabegerät mit konstant breiter Schriftart einnimmt. LC_MESSAGES Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden. NLSPATH Legt den Pfad der Meldungsdateien für LC_MESSAGES fest. |
Standard-Ausgabe (stdout)
Die Standard-Ausgabe entspricht den Eingabedateien, wobei jedoch Leerzeichen in Tabulatorzeichen umgewandelt wurden. |
Hinweis
Das standardmäßige Verhalten von unexpand, das nur führende Leerzeichen berücksichtigt, kann in manchen Anwendungsfällen unerwünscht sein. Benutzer, die immer alle Leerzeichen in einer Datei umwandeln möchten, sollten mittels Alias-Definition eine Version von unexpand erstellen, die immer mit den Optionen -a oder -t |
Siehe auch
expand, tabs |