Scroll to navigation

COLUMN(1) Polecenia użytkownika 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 systemie śledzenia błędów <https://github.com/util-linux/util-linux/issues>.

DOSTĘPNOŚĆ

Polecenie column jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

2025-09-24 util-linux 2.41.2