column - Listen in Spalten darstellen
ÜBERSICHT
column [Optionen] [Datei …]
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.
- Tabelle
- 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 Eingabe wird aus der Datei gelesen oder anderenfalls
aus der Standardeingabe. Leere Zeilen werden ignoriert und alle
ungültigen Multibyte-Sequenzen werden nach der
\x<hex>-Konvention kodiert.
Das Argument Spalten für die
--table-*-Optionen ist eine durch Kommata getrennte Liste von
Spaltennamen, wie sie durch --table-columns definiert sind, oder
deren in der Eingabe angegebene Spaltennummer. Es ist möglich, Namen
und Nummern zu mischen.
- -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.
- -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
Trenner
- 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-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.
- -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«.
- -L,
--table-empty-lines
- fügt für jede leere Zeile der Eingabe eine leere Zeile in
die Tabelle ein. Standardmäßig werden leere Zeilen stets
ignoriert.
- -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.
- -V, --version
- zeigt Versionsinformationen an und beendet das Programm.
- -h, --help
- zeigt einen Hilfetext an und beendet das Programm.
Die Größe des Bildschirms wird aus der
Umgebungsvariable COLUMNS ermittelt, falls keine anderen
Informationen verfügbar sind.
Der Befehl »column« erschien in 4.3BSD-Reno.
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.
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,PASS,FREQ --table-right PASS,FREQ
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
Der Befehl column ist Teil des Pakets util-linux, welches
auf https://www.kernel.org/pub/linux/utils/util-linux/ verfügbar
ist.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von
Mario Blättermann <mario.blaettermann@gmail.com> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU General
Public License Version 3 oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite
finden, schicken Sie bitte eine E-Mail an die
Mailingliste
der Übersetzer.