COLUMN(1)

BEZEICHNUNG
column - Listen in Spalten darstellen

ÜBERSICHT

column [options] [file ...]

BESCHREIBUNG

Das Dienstprogramm column formatiert dessen Eingabe in mehreren Spalten. Es unterstützt drei Modi:

Spalten werden vor Zeilen gefüllt
    Dies ist der Vorgabemodus (zwecks Abwärtskompatibilität notwendig)

Zeilen werden vor Spalten gefüllt
    Dieser Modus wird durch die Option -x, --fillrows aktiviert.

table
    In diesem Modus wird die Anzahl der Spalten der Eingabe ermittelt und eine Tabelle erstellt. Dies wird durch die Option -t, --table aktiviert. Die Formatierung der Spalten kann durch die Optionen der Form --table-* angepasst werden. Verwenden Sie diesen Modus, wenn Sie nicht sicher sind. Die Ausgabe wird im interaktiven Modus an die Terminalbreite angepasst beziehungsweise ist im nicht-interaktiven Modus 80 Zeichen (siehe --output-width für weitere Details).

Die Eingabe wird aus der angegebenen Datei gelesen oder anderenfalls aus der Standardeingabe. Leere Zeilen werden ignoriert und alle ungültigen Multibyte-Sequenzen werden nach der \x<hex>-Konvention kodiert.

OPTIONEN

The argument columns for --table-* options is a comma separated list of the column names as defined by --table-columns, or names defined by --table-column or it’s column number in order as specified by input. It’s possible to mix names and numbers. The special placeholder '0' (e.g. -R0) may be used to specify all columns and '-1' (e.g. -R -1) to specify the last visible column. It’s possible to use ranges like '1-5' when addressing columns by numbers.

-J, --json
    verwendet das JSON-Format für die Ausgabe der Tabelle. Die Option --table-columns ist erforderlich und die Option --table-name wird empfohlen.

-c, --output-width Breite
    formatiert die Ausgabe auf eine Breite, die hier als Anzahl der Zeichen angegeben wird. Der ursprüngliche Name dieser Option lautet --columns, er gilt seit Version 2.30 als veraltet. Beachten Sie, dass eine Eingabe, die größer als die angegebene Breite ist, standardmäßig nicht gekürzt wird. Die Vorgabe ist eine Breite von 80 Zeichen im nicht-interaktiven Modus. Die Spaltenüberschriften werden niemals gekürzt.

    Sie können den Platzhalter »unlimited« (oder 0) verwendeten, um die Ausgabebreite explizit nicht zu begrenzen. Dies wird beispielsweise dann empfohlen, wenn die Ausgabe in Dateien anstatt in einem Terminal erfolgt.

-d, --table-noheadings
    gibt keine Überschrift aus. Dies ermöglicht Ihnen die Verwendung logischer Spaltennamen in der Befehlszeile, aber blendet die Überschrift aus, wenn die Tabelle ausgegeben wird.

-o, --output-separator Zeichenkette
    gibt den Spaltentrenner für die Tabellenausgabe an (standardmäßig zwei Leerzeichen).

-s, --separator Trennzeichen
    gibt die möglichen Eingabetrennzeichen an (standardmäßig Leerzeichen).

-t, --table
    ermittelt die Anzahl der Spalten, die die Eingabe enthält und erstellt eine Tabelle. Die Spalten werden standardmäßig durch Leerzeichen oder durch die in der Option --output-separator angegebenen Zeichen getrennt. Die Tabellenausgabe ist für Schöndruck (»Pretty Printing«) geeignet.

-N, --table-column Eigenschaften
    definiert eine Spalte durch eine durch Kommata getrennte Liste von Spaltenattributen. Diese Option kann mehrfach angegeben werden; jede Angabe definiert dabei eine Spalte. Die Eigenschaften ersetzen einige der --table--Optionen. Beispielsweise definiert --table-column name=BLA,right eine Spalte, deren Text rechtsbündig ausgerichtet ist. Diese Option die Option --table-columns schließen sich gegenseitig aus.

    Derzeit werden folgende Attribute unterstützt:

    name=Zeichenkette
        gibt den Spaltennamen an.

    trunc
        gibt an, dass der Text bei Bedarf gekürzt werden kann. Gleichbedeutend mit --table-truncate.

    right
        richtet den Text in den angegebenen Spalten rechtsbündig aus. Gleichbedeutend mit --table-right.

    width=Zahl
        gibt die Spaltenbreite an. Die Breite wird hierbei nur als Hinweis verwendet. Die Breite wird nur dann strikt angewendet, wenn auch das Attribut strictwidth verwendet wird.

    strictwidth
        folgt strikt der Spalteneinstellung width=.

    noextreme
        gibt die Spalten an, in denen es möglich ist, unüblich lange Zellen zu verwenden. Siehe --table-noextreme für weitere Details.

    wrap
        gibt die Spalten an, in denen es möglich ist, bei Bedarf mehrzeilige Zellen für langen Text zu verwenden. Siehe --table-wrap.

    hide
        gibt die angegebenen Spalten nicht aus. Siehe --table-hide.

    json=Typ
        definiert den Spaltentyp für die JSON-Ausgabe. Unterstützt werden string, number und boolean.

-N, --table-columns Namen
    gibt die Spaltennamen in einer durch Kommata getrennten Liste an. Diese Namen werden für die Tabellenüberschriften oder zum Adressieren der Spalte in Optionsargumenten verwendet. Siehe auch --table-column.

-l, --table-columns-limit Anzahl
    gibt die maximale Anzahl der Eingabespalten an. Die letzte Spalte wird alle verbleibenden Zeilendaten enthalten, falls die Begrenzung kleiner ist als die Anzahl der Spalten der Eingabedaten.

-R, --table-right Spalten
    richtet den Text in den angegebenen Spalten rechtsbündig aus.

-T, --table-truncate Spalten
    gibt die Spalten an, in denen es möglich ist, bei Bedarf den Text zu kürzen. Anderenfalls werden sehr lange Tabelleneinträge in mehreren Zeilen ausgegeben.

-E, --table-noextreme Spalten
    gibt die Spalten an, bei denen es möglich ist, bei der Berechnung der Spaltenbreite ungewöhnlich lange Zellen (länger als der Durchschnitt) zu ignorieren. Diese Option beeinflusst Breitenermittlung und Tabellenformatierung, aber nicht den ausgegebenen Text.

    Die Option wird standardmäßig für die letzte sichtbare Spalte verwendet.

-e, --table-header-repeat
    gibt eine Überschrift für jede Seite aus.

-W, --table-wrap Spalten
    gibt die Spalten an, in denen es möglich ist, bei Bedarf mehrzeilige Zellen für langen Text zu verwenden.

-H, --table-hide Spalten
    gibt die angegebenen Spalten nicht aus. Der spezielle Platzhalter »-« kann dazu verwendet werden, alle unbenannten Spalten auszublenden (siehe --table-columns).

-O, --table-order Spalten
    gibt die Reihenfolge der Spalten in der Ausgabe an.

-n, --table-name Name
    gibt den für die JSON-Ausgabe zu verwendenden Tabellennamen an. Standardmäßig »table«.

-m, --table-maxout
    füllt den gesamten verfügbaren Platz in der Ausgabe.

-L, --keep-empty-lines
    behält Zeilen in der Ausgabe, die nur Leerraum enthalten. Standardmäßig werden leere Zeilen stets ignoriert. Der ursprüngliche Name war --table-empty-lines, wurde aber verworfen, weil dieser den Eindruck erweckte, dass die Option nur im Tabellenmodus gilt.

-r, --tree Spalte
    gibt an, dass die Spalte in einer Baumansicht ausgegeben werden soll. Beachten Sie, dass Abhängigkeitsschleifen und andere Anomalien in Kind-Eltern-Relationen stillschweigend ignoriert werden.

-i, --tree-id Spalte
    gibt die Spalte mit der Zeilenkennung an, die zur Erstellung der Kind-Eltern-Relation verwendet werden soll.

-p, --tree-parent Spalte
    gibt die Spalte mit der Elternkennung an, die zur Erstellung der Kind-Eltern-Relation verwendet werden soll.

-x, --fillrows
    füllt Zeilen, bevor Spalten gefüllt werden.

-h, --help
    zeigt einen Hilfetext an und beendet das Programm.

-V, --version
    zeigt Versionsinformationen an und beendet das Programm.

UMGEBUNGSVARIABLEN

Die Größe des Bildschirms wird aus der Umgebungsvariable COLUMNS ermittelt, falls keine anderen Informationen verfügbar sind.

GESCHICHTE

Der Befehl column erschien in 4.3BSD-Reno.

FEHLER

In Version 2.23 änderte sich die Option -s zu »non-greedy«, zum Beispiel:

    printf "a:b:c\n1::3\n" | column -t -s ':'

Alte Ausgabe:

    a  b  c
    1  3

Neue Ausgabe (seit Util-linux 2.23):

    a  b  c
    1     3

In früheren Versionen dieses Werkzeugs wurde angegeben, dass »Zeilen vor Spalten gefüllt werden« und dass die Option -x dies umkehrt. Diese Formulierung reflektierte nicht das tatsächliche Verhalten und wurde daher korrigiert (siehe oben). Andere Implementierungen von column verwenden möglicherweise weiterhin die ältere Dokumentation, aber das Verhalten sollte auf jeden Fall identisch sein.

BEISPIELE

Die Datei /etc/fstab mit einer Überschriftenzeile und rechtsbündig angeordneten Zahlen ausgeben:

    sed 's/#.*//' /etc/fstab | column --table --table-columns SOURCE,TARGET,TYPE,OPTIONS,FREQ,PASS --table-right FREQ,PASS

Die Datei /etc/fstab ausgeben und unbenannte Spalten verbergen:

    sed 's/#.*//' /etc/fstab | column --table --table-columns SOURCE,TARGET,TYPE --table-hide -

Einen Baum ausgeben:

    echo -e '1 0 A\n2 1 AA\n3 1 AB\n4 2 AAA\n5 2 AAB' | column --tree-id 1 --tree-parent 2 --tree 3
    1  0  A
    2  1  |-AA
    4  2  | |-AAA
    5  2  | `-AAB
    3  1  `-AB

SIEHE AUCH

colrm(1), ls(1), paste(1), sort(1)

FEHLER MELDEN

Nutzen Sie zum Melden von Fehlern das Fehlererfassungssystem auf

VERFÜGBARKEIT

Der Befehl column ist Teil des Pakets util-linux, welches aus dem heruntergeladen werden kann.