Scroll to navigation

COLUMN(1) Dienstprogramme für Benutzer COLUMN(1)

BEZEICHNUNG

column - Listen in Spalten darstellen

ÜBERSICHT

column [Optionen] [Datei ...]

BESCHREIBUNG

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

füllt Spalten vor Zeilen

Dies ist der Vorgabemodus (zwecks Abwärtskompatibilität notwendig)

füllt Zeilen vor Spalten

Dieser Modus wird durch die Option -x, --fillrows aktiviert.

Tabelle erstellen

Determine the number of columns the input contains and create a table. This mode is enabled with the -t, --table option. Output is aligned to the terminal width in interactive mode and 80 columns in non-interactive mode (see --output-width for more details). Custom formatting can be applied by using various --table-\* options.

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 user supplied names, defined with --table-column name1,name2,..., indices of columns, as they appear in the input, beginning with 1, or names, defined by a --table-columns attribute. It’s possible to mix names and indices. 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 indices.

-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.

The placeholder "unlimited" (or 0) can be used to prevent restricting output width. This is recommended for example when redirecting output to a file.

-d, --table-noheadings

gibt keine Überschrift aus. Dies ermöglicht Ihnen die Verwendung benutzerdefinierter 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).

-S, --use-spaces Zahl

When not in table mode, use whitespaces instead of tabulators to align the columns. This option specifies the minimum number of whitespaces that separate two columns.

-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.

-C, --table-column Attribute

Define a column with a comma separated list of column attributes. This option can be used more than once, every use defines a single column. Attributes replace some of --table- options. For example, --table-column name=FOO,right defines a column where text is aligned to right. The option is mutually exclusive to --table-columns.

Die folgenden Attribute werden unterstützt:

name=Zeichenkette

Farbbezeichnung

trunc

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

right

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

width=Zahl

Column width. It’s used only as a hint. To force it, specify the strictwidth attribute as well.

strictwidth

folgt strikt der Spalteneinstellung width=.

noextreme

ignoriert unüblich große Zellenbreiten. Siehe --table-noextreme für weitere Details.

wrap

Allow using a multi-line cell for long text if necessary. See --table-wrap for more details.

hide

gibt die angegebenen Spalte nicht aus. Siehe --table-hide für weitere Details.

json=Typ

definiert den Spaltentyp für die JSON-Ausgabe. Unterstützte Typen sind string, number und boolean.

-N, --table-columns Namen

Specify column names with a comma separated list. The names are used for the table header and column addressing in option arguments. See also --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

Specify columns where multi-line cells can be used for long text.

-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 Ausgabespalten 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

Preserve whitespace-only lines in the input. The default is to ignore all empty lines. This option’s original name was --table-empty-lines, but has since been deprecated because it gives the false impression that the option only applies to table mode.

-r, --tree Spalte

Specify the column to use for a tree-like output. Note that the circular dependencies and other anomalies in child and parent relation are silently ignored.

-i, --tree-id Spalte

Specify the column that contains each line’s unique child IDs for a child-parent relation.

-p, --tree-parent Spalte

Specify the column that contains each line’s parent IDs for a child-parent relation.

-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 <https://github.com/util-linux/util-linux/issues>.

VERFÜGBARKEIT

Der Befehl column ist Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv <https://www.kernel.org/pub/linux/utils/util-linux/> heruntergeladen werden kann.

2025-09-09 util-linux 2.41.1