COLUMN(1)

NAZWA
column - tworzy kolumny z list

SKŁADNIA

column [opcje] [plik ...]

OPIS

Narzędzie column formatuje swoje wejście tworząc kilka kolumn. Obsługuje trzy tryby:

wypełnia kolumny przed wierszami
    Jest to domyślny tryb (wymagany ze względu na kompatybilność wsteczną).

wypełnia wiersze przed kolumnami
    Ten tryb włącza się opcją -x, --fillrows.

tworzy tabelę
    Ustala liczbę kolumn jaką zawiera wejście i tworzy tabelę. Ten tryb włącza się opcją -t, --table. Wyjście jest wyrównywane do szerokości terminala w trybie interaktywnym i do 80 kolumn w trybie nieinteraktywnym (więcej szczegółów w opisie opcji --output-width). Tabelę można dodatkowo sformatować poszczególnymi opcjami --table-\*.

Wejście jest przyjmowane z pliku lub ze standardowego wejścia. Puste wiersze są ignorowane, a wszelkie nieprawidłowe sekwencje wielobajtowe są kodowane za pomocą konwencji x<hex> (liczby szesnastkowej).

OPCJE

Argument kolumny w przypadku opcji --table-\* jest listą nadanych przez użytkownika nazw indeksów kolumn, rozdzielonych przecinkiem, definiowanych jako --table-column nazwa1,nazwa2,..., w kolejności w jakiej pojawiają się na wejściu, poczynając od 1, albo też nazw, definiowanych przez atrybut --table-columns. Można mieszać nazwy i indeksy. Aby podać wszystkie kolumny można skorzystać ze specjalnego symbolu zastępczego "0" (np. -R0), a aby określić ostatnią widoczną kolumnę, można skorzystać z symbolu "-1" (np. -R -1). Przy adresowaniu kolumn indeksami, można korzystać z zakresów takich jak "1-5".

-J, --json
    Używa formatu wyjściowego JSON do wypisania tabeli. Wymagana jest opcja --table-columns, a opcja --table-name jest zalecana.

-c, --output-width szerokość
    Wyjście jest formatowane do szerokości określonej liczbą znaków. Pierwotna nazwa tej opcji brzmiała --columns; nazwa ta jest przestarzała od wersji v2.30. Proszę zauważyć, że wejście dłuższe niż szerokość nie jest domyślnie przycinane. Domyślna jest szerokość terminala lub 80 kolumn w trybie nieinteraktywnym. Nagłówki kolumn nigdy nie są przycinane.

    Aby zapobiec ograniczaniu szerokości wyjścia, można użyć symbolu zastępczy "unlimited" (lub 0). Zaleca się takie postępowanie np. przy przekierowywaniu wyjścia do pliku.

-d, --table-noheadings
    Pomija wypisywanie nagłówka. Opcja pozwala na korzystanie z nazw nadanych przez użytkownika w wierszu poleceń, ale ukrywa nagłówek przy wypisywaniu tabeli.

-o, --output-separator łańcuch
    Separator kolumn w wyjściu tabeli (domyślnie to dwie spacje).

-s, --separator separatory
    Możliwe separatory pozycji wejściowych (domyślnie to spacja).

-S, --use-spaces liczba
    W trybie innym niż tabeli, korzysta ze spacji zamiast tabulatorów do wyrównania kolumn. Opcja określa minimalną liczbę spacji, która oddziela dwie kolumny.

-t, --table
    Ustala liczbę kolumn jaką zawiera wejście i tworzy tabelę. Kolumny są domyślnie rozdzielone spacją lub znakami podanymi opcją --output-separator. Wyjście tabelaryczne jest przydatne do ładnego drukowania (pretty-printing).

-C, --table-column atrybuty
    Definiuje kolumnę z jej listą atrybutów (separatorem jest przecinek). Opcji można użyć wielokrotnie, każda zdefiniuje pojedynczą kolumnę. Atrybuty zastępują niektóre z opcji --table-. Przykładowo --table-column name=FOO,right definiuje kolumnę, której tekst jest wyrównywany do prawej strony. Opcja wzajemnie wyklucza się z --table-columns.

    Obsługiwane są następujące atrybuty:

    name=łańcuch
        Nazwa kolumny.

    trunc
        Przycina tekst kolumny, jeśli to konieczne. Równoważne --table-truncate.

    right
        Wyrównuje tekst do prawej strony. Równoważne --table-right.

    width=liczba
        Szerokość kolumny. Jest to tylko wskazówka. Aby ją wymusić, należy zdefiniować również atrybut strictwidth.

    strictwidth
        Interpretuje ściśle ustawienie szerokości kolumny width=.

    noextreme
        Ignoruje nadzwyczaj długą szerokość komórki. Więcej szczegółów w opisie opcji --table-noextreme.

    wrap
        Pozwala na korzystanie z wielowierszowej komórki dla długich tekstów, jeśli to konieczne. Więcej szczegółów w opisie opcji --table-wrap.

    hide
        Nie wypisuje kolumny. Więcej szczegółów w opisie opcji --table-hide.

    json=typ
        Definiuje typ wyjście JSON. Obsługiwanymi typami są: string (łańcuch), number (liczba) i boolean (wartość logiczna).

-N, --table-columns nazwy
    Określa nazwy kolumn za pomocą listy (separatorem jest przecinek). Nazwy są stosowane w nagłówku tabeli oraz do wskazywania kolumn w argumentach opcji. Zob. też --table-column.

-l, --table-columns-limit liczba
    Określa maksymalną liczbę kolumn wejściowych. Ostatnia kolumna będzie zawierała wszystkie pozostałe dane, jeśli limit jest mniejszy niż liczba kolumn w danych wejściowych.

-R, --table-right kolumny
    Wyrównuje tekst do prawej strony w podanych kolumnach.

-T, --table-truncate kolumny
    Określa kolumny, w których tekst może zostać przycięty gdy to konieczne, w przeciwnym przypadku bardzo długie wpisy w tabeli mogą zajmować wiele wierszy.

-E, --table-noextreme kolumny
    Określa kolumny, w których można zignorować bardzo długie (dłuższe niż przeciętne) komórki przy obliczaniu szerokości kolumny. Opcja ta wpływa na obliczanie szerokości i formatowania tabeli, natomiast nie ma wpływu na wypisywany tekst.

    Opcja domyślnie jest stosowana do ostatniej widocznej kolumny.

-e, --table-header-repeat
    Wypisuje wiersz nagłówka na każdej stronie.

-W, --table-wrap kolumny
    Określa kolumny, w których dla długiego tekstu mogą być użyte komórki wielowierszowe.

-H, --table-hide kolumny
    Nie wypisuje podanych kolumn. Specjalny symbol "-" służy do ukrycie wszystkich nienazwanych kolumn (zob. --table-columns).

-O, --table-order kolumny
    Określa kolejność kolumn wyjściowych.

-n, --table-name nazwa
    Określa nazwę tabeli, użytą w wyjściu JSON. Domyślną jest "table".

-m, --table-maxout
    Wypełnia całe dostępne miejsce na wyjściu.

-L, --keep-empty-lines
    Zachowuje wiersze składające się wyłącznie z białych znaków w wejściu. Domyślnie całkowicie puste wiersze są ignorowane. Pierwotna nazwa tej opcji brzmiała --table-empty-lines, lecz została uznana za przestarzałą, ponieważ sprawiała wrażenie, że działała tylko w trybie tabelarycznym.

-r, --tree kolumna
    Określa kolumnę do stosowania w trybie drzewiastym. Proszę zauważyć, że zapętlone zależności oraz inne problemy w relacji dziecko-rodzic są po cichu ignorowane.

-i, --tree-id kolumna
    Określa kolumnę zawierającą unikalny identyfikator dziecka każdego wiersza, dla relacji dziecko-rodzic.

-p, --tree-parent kolumna
    Określa kolumnę zawierającą identyfikator rodzica każdego wiersza, dla relacji dziecko-rodzic.

-x, --fillrows
    Wypełnia wiersze przed wypełnianiem kolumn.

-h, --help
    Wyświetla ten tekst i wychodzi.

-V, --version
    Wyświetla wersję i wychodzi.

ŚRODOWISKO

Zmienna środowiskowa COLUMNS służy do określenia rozmiaru ekranu, jeśli inne informacje nie są dostępne.

HISTORIA

Polecenie column pojawiło się w 4.3BSD-Reno.

USTERKI

Wersja 2.23 zmieniła działanie opcji -s na niezachłanne np.:

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

Stare wyjście:

    a  b  c
    1  3

Obecne wyjście (od util-linux 2.23):

    a  b  c
    1     3

Historyczne wersje narzędzie wskazywały, że domyślnie "wiersze są wypełniane przed kolumnami", a opcja -x to odwraca. Takie sformułowanie nie było jednak zgodne z faktycznym zachowaniem, dlatego zostało poprawione (zob. wyżej). Inne implementacje column mogą wciąż korzystać ze starszej dokumentacji, lecz ich zachowanie powinno być identyczne.

PRZYKŁADY

Wypisuje fstab z wierszem nagłówka oraz wyrównuje liczby do prawej strony:

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

Wypisuje fstab i ukrywa nienazwane kolumny:

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

Wypisuje drzewo:

    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

ZOBACZ TAKŻE

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

ZGŁASZANIE BŁĘDÓW

Problemy należy zgłaszać w

DOSTĘPNOŚĆ

Polecenie column jest częścią pakietu util-linux, który można pobrać ze strony