COLUMN(1) Polecenia uzytkownika COLUMN(1) NAZWA column - tworzy kolumny z list SKLADNIA column [opcje] [plik ...] OPIS Narzedzie column formatuje swoje wejscie tworzac kilka kolumn. Obsluguje trzy tryby: wypelnia kolumny przed wierszami Jest to domyslny tryb (wymagany ze wzgledu na kompatybilnosc wsteczna). wypelnia wiersze przed kolumnami Ten tryb wlacza sie opcja -x, --fillrows. tworzy tabele Ustala liczbe kolumn jaka zawiera wejscie i tworzy tabele. Ten tryb wlacza sie opcja -t/--table. Wyjscie jest wyrownywane do szerokosci terminala w trybie interaktywnym i do 80 kolumn w trybie nieinteraktywnym (wiecej szczegolow w opisie opcji --output-width). Tabele mozna dodatkowo sformatowac poszczegolnymi opcjami --table-*. Wejscie jest przyjmowane z pliku lub ze standardowego wejscia. Puste wiersze sa ignorowane, a wszelkie nieprawidlowe sekwencje wielobajtowe sa kodowane za pomoca konwencji x (liczby szesnastkowej). OPCJE Argument kolumny w przypadku ponizszych opcji --table-* jest lista nadanych przez uzytkownika nazw kolumn, rozdzielonych przecinkiem, definiowanych jako --table-columns nazwa1,nazwa2,..., lub ich indeksow, w kolejnosci w jakiej pojawiaja sie na wejsciu, poczynajac od 1, albo tez nazw, definiowanych przez atrybut --table-column. Mozna mieszac nazwy i indeksy. Aby podac wszystkie kolumny mozna skorzystac ze specjalnego symbolu zastepczego "0" (np. -R0), a aby okreslic ostatnia widoczna kolumne, mozna skorzystac z symbolu "-1" (np. -R -1). Przy adresowaniu kolumn indeksami, mozna korzystac z zakresow takich jak "1-5". -J, --json Uzywa formatu wyjsciowego JSON do wypisania tabeli. Wymagana jest opcja --table-columns, a opcja --table-name jest zalecana. -c, --output-width szerokosc Wyjscie jest formatowane do szerokosci okreslonej liczba znakow. Prosze zauwazyc, ze wejscie dluzsze niz szerokosc nie jest domyslnie przycinane. Domyslna jest szerokosc terminala w trybie interaktywnym lub 80 kolumn w trybie nieinteraktywnym. Naglowki kolumn nigdy nie sa przycinane. Aby zapobiec ograniczaniu szerokosci wyjscia, mozna uzyc symbolu zastepczego unlimited (lub 0). Zaleca sie takie postepowanie przy przekierowywaniu wyjscia do pliku. (Pierwotna dluga nazwa tej opcji brzmiala --columns; nazwa ta jest przestarzala od wersji v2.30). -d, --table-noheadings Pomija wypisywanie naglowka. Opcja pozwala na korzystanie z nazw nadanych przez uzytkownika w wierszu polecen, ale ukrywa naglowek przy wypisywaniu tabeli. -o, --output-separator lancuch Separator kolumn w wyjsciu tabeli (domyslnie to dwie spacje). -s, --input-separator, --separator separatory Mozliwe separatory pozycji wejsciowych (domyslnie to spacja). -S, --use-spaces liczba W trybie innym niz tabeli, korzysta ze spacji zamiast tabulatorow do wyrownania kolumn. Opcja okresla minimalna liczbe spacji, ktora oddziela dwie kolumny. -t, --table Ustala liczbe kolumn jaka zawiera wejscie i tworzy tabele. Kolumny sa domyslnie rozdzielone spacja lub znakami podanymi opcja --output-separator. Wyjscie tabelaryczne jest przydatne do ladnego drukowania (pretty-printing). --table-colorscheme nazwa Okresla schemat kolorow. Domyslna nazwa jest "column". Wiecej szczegolow w rozdziale KOLORY. -C, --table-column atrybuty Definiuje kolumne z jej lista atrybutow (separatorem jest przecinek). Opcji mozna uzyc wielokrotnie, kazda zdefiniuje pojedyncza kolumne. Atrybuty zastepuja niektore z opcji --table-: np. *--table-column name=FOO,right definiuje kolumne, ktorej tekst jest wyrownywany do prawej strony. Opcja wzajemnie wyklucza sie z -N/--table-columns. Obslugiwane sa nastepujace atrybuty: name=lancuch Nazwa kolumny. trunc Przycina tekst kolumny, jesli to konieczne. Rownowazne --table-truncate. Prosze zauwazyc, ze naglowek kolumny nigdy nie jest przycinany, stanowiac minimalna szerokosc kolumny tree Uzywa te kolumne w trybie drzewiastym. Wiecej szczegolow w opisie opcji --tree. right Wyrownuje tekst do prawej strony. Rownowazne --table-right. width=liczba Szerokosc kolumny. Jest to tylko wskazowka. Aby ja wymusic, nalezy zdefiniowac rowniez atrybut strictwidth. Faktyczna minimalna szerokosc okresla szerokosc naglowka kolumny. strictwidth Scisle przestrzega width= do okreslenia minimalnego rozmiaru kolumny. Kolumna moze byc szersza, jesli w wyniku jest na to wystarczajaco duzo miejsca. noextremes Ignoruje nadzwyczaj dluga szerokosc zawartosci. Wiecej szczegolow w opisie opcji --table-noextreme. hidden Nie wypisuje kolumny. Wiecej szczegolow w opisie opcji --table-hide. wrap Pozwala na korzystanie z wielowierszowej komorki w przypadku dlugiego tekstu, jesli to konieczne. Prosze zauwazyc, ze naglowek nigdy nie jest zawijany i okresla minimalna szerokosc kolumny. Wiecej szczegolow w opisie opcji --table-wrap. wrapnl Zawija na znakach nowego wiersza; znaki nowego wiersza w komorkach danych sa traktowane jako przelamania wierszy. wrapzero Przelamuje na znakach zerowych (NUL) w komorkach danych. json=typ Definiuje typ kolumny w wyjsciu JSON. Obslugiwanymi typami sa: string (lancuch), number (liczba), float (liczba zmiennoprzecinkowa), array-string i array-number (tablice) oraz boolean (wartosc logiczna). color=nazwa Definiuje kolor kolumny w wyjsciu na terminalu. Nazwa jest nazwa koloru (black, blink, blue, bold, brown, cyan, darkgray, gray, green, halfbright, lightblue, lightcyan, lightgray, lightgreen, lightmagenta, lightred, magenta, red, reset, reverse i yellow) lub liczba/liczbami sekwencji koloru ANSI, rozdzielonych srednikiem, ale bez przedrostka "ESC[" i przyrostka "m". Na przyklad "37;41" definiuje sekwencje z czerwonym tlem i bialym tekstem. Wiecej szczegolow w rozdziale KOLORY. colorkey=nazwa Adresuje kolor zdefiniowany w schemacie kolorow. Zob. --table-colorscheme. headercolor=nazwa Podobnie jak color=, lecz definiuje tylko kolor naglowka. headercolorkey=nazwa Adresuje kolor naglowka zdefiniowany w schemacie kolorow. Zob. --table-colorscheme. -N, --table-columns nazwy Okresla nazwy kolumn za pomoca listy (separatorem jest przecinek). Nazwy sa stosowane w naglowku tabeli oraz do wskazywania kolumn w argumentach opcji. Zob. tez --table-column. -l, --table-columns-limit liczba Okresla maksymalna liczbe kolumn wejsciowych. Ostatnia kolumna bedzie zawierala wszystkie pozostale dane, jesli limit jest mniejszy niz liczba kolumn w danych wejsciowych. -R, --table-right kolumny Wyrownuje tekst do prawej strony w podanych kolumnach. -T, --table-truncate kolumny Okresla kolumny, w ktorych tekst moze zostac przyciety gdy to konieczne, w przeciwnym przypadku bardzo dlugie wpisy w tabeli moga zajmowac wiele wierszy. -E, --table-noextreme kolumny Okresla kolumny, w ktorych zawartosc dluzsza niz przecietna moze byc zignorowana przy obliczaniu szerokosci kolumny. Opcja ta wplywa na obliczanie szerokosci i formatowania tabeli, natomiast nie ma wplywu na wypisywany tekst. Opcja ta domyslnie jest aktywowana wobec ostatniej widocznej kolumny. -e, --table-header-repeat Wypisuje wiersz naglowka na kazdej stronie. -K, --table-header-as-columns Uzywa pierwszego wiersza wejscia jako naglowka tabeli. Opcja wyklucza sie z opcjami --table-columns i --table-column. -W, --table-wrap kolumny Okresla kolumny, w ktorych przy dluzszych tekstach moga byc stosowane komorki wielowierszowe. Domyslnie tekst jest zawijany zgodnie z szerokoscia kolumny. Za pomoca opcji --wrap-separator mozna w zamian zawijac na wybranym znaku. Prosze zauwazyc, ze naglowek nigdy nie jest zawijany i okresla minimalna szerokosc kolumny. --wrap-separator lancuch Uzywa lancucha jako separatora do zawijania tekstu w kolumnach, w ktorych wlaczono zawijanie. Przy wyswietlaniu tekstu, separator jest zastepowany znakiem nowego wiersza. Opcja wymaga trybu tabelarycznego oraz kolumn z wlaczonym zawijaniem (zob. --table-wrap). Na przyklad podanie "|" pozwoli na zawijanie na znakach potoku, w komorkach z danymi. -H, --table-hide kolumny Nie wypisuje podanych kolumn. Specjalny symbol "-" sluzy do ukrycie wszystkich nienazwanych kolumn (zob. --table-columns). -O, --table-order kolumny Okresla kolejnosc kolumn wyjsciowych. -n, --table-name nazwa Okresla nazwe tabeli, uzyta w wyjsciu JSON. Domyslna jest "table". -m, --table-maxout Wypelnia cale dostepne miejsce na wyjsciu. -L, --keep-empty-lines Zachowuje wiersze skladajace sie wylacznie z bialych znakow w wejsciu. Domyslnie calkowicie puste wiersze sa ignorowane. Pierwotna nazwa tej opcji brzmiala --table-empty-lines, lecz zostala uznana za przestarzala, poniewaz sprawiala wrazenie, ze dzialala tylko w trybie tabelarycznym. -r, --tree kolumna Okresla kolumne do stosowania w trybie drzewiastym. Prosze zauwazyc, ze zapetlone zaleznosci oraz inne problemy w relacji dziecko-rodzic sa po cichu ignorowane. -i, --tree-id kolumna Okresla kolumne zawierajaca unikalny identyfikator dziecka kazdego wiersza, dla relacji dziecko-rodzic. -p, --tree-parent kolumna Okresla kolumne zawierajaca identyfikator rodzica kazdego wiersza, dla relacji dziecko-rodzic. -x, --fillrows Wypelnia wiersze przed wypelnianiem kolumn. --color[=kiedy] Koloryzuje wynik. Opcjonalnym argumentem kiedy moze byc auto, never (nigdy) lub always (zawsze). Gdy nie poda sie argumentu kiedy, domyslnym ustawieniem jest auto. Kolory moga byc wylaczone; aktualne wbudowane ustawienie domyslne pokaze opcja --help. Zob. rowniez rozdzial KOLORY. -h, --help Wyswietla ten tekst i wychodzi. -V, --version Wyswietla wersje i wychodzi. KOLORY Kolorowanie wyjsciowe zaimplementowano poprzez terminal-colors.d(5). Jawne kolorowanie mozna wylaczyc za pomoca pustego pliku /etc/terminal-colors.d/column.disable dla polecenia column albo dla wszystkich narzedzi plikiem /etc/terminal-colors.d/disable Od wersji 2.41, obslugiwana jest rowniez zmienna srodowiskowa $NO_COLOR, sluzaca do wylaczenia kolorowania wyjscia, o ile nie wlaczy sie je wprost opcja wiersza polecen. Globalne ustawienie przeslonia $XDG_CONFIG_HOME/terminal-colors.d lub $HOME/.config/terminal-colors.d danego uzytkownika. Prosze zauwazyc, ze kolorowanie wyjscia moze byc domyslnie wlaczone i wowczas katalogi terminal-colors.d moga jeszcze nie istniec. Domyslnym schematem kolorow jest "column," i mozna go przeslonic za pomoca --table-colorscheme nazwa Nastepnie mozna stosowac plik nazwa[.disable|enable|scheme] w /etc/terminal-colors.d/, $XDG_CONFIG_HOME/terminal-colors.d lub $HOME/.config/terminal-colors.d/. Logiczna nazwa koloru (klucz) w schemacie kolorow moze byc zaadresowana przez wlasciwosc kolumny colorkey= i headercolorkey=. Na przyklad echo 'istotny red' > ~/.config/terminal-colors.d/fajnatabela.scheme echo 'istotny-naglowek 37;41' >> ~/.config/terminal-colors.d/fajnatabela.scheme echo -e "a b c\naa bb cc\naaa bbb ccc" | column -t \ --table-colorscheme=fajnatabela \ -C name=AAA,colorkey=istotny,headercolorkey=istotny-naglowek \ -C name=BBB,color=magenta,headercolor=cyan \ -C name=CCC,color=green Powyzsze utworzy schemat kolorow o nazwie "fajnatabela" i pokoloruje naglowek i dane pierwszej kolumny zgodnie z kluczami ze schematu. Pozostale dwie kolumny beda pokolorowane za pomoca bezposrednich nazw kolorow. SRODOWISKO COLUMNS sluzy do okreslenia rozmiaru ekranu, jesli inne informacje nie sa dostepne. LIBSMARTCOLS_DEBUG=all wlacza wyjscie debugowania libsmartcols. LIBSMARTCOLS_DEBUG_PADDING=on uzywa widocznych znakow wypelnienia. HISTORIA Polecenie column pojawilo sie w 4.3BSD-Reno. USTERKI Wersja 2.23 zmienila dzialanie opcji -s na niezachlanne np.: printf "a:b:c\n1::3\n" | column -t -s ':' Stare wyjscie: a b c 1 3 Obecne wyjscie (od util-linux 2.23): a b c 1 3 Historyczne wersje narzedzie wskazywaly, ze domyslnie "wiersze sa wypelniane przed kolumnami", a opcja -x to odwraca. Takie sformulowanie nie bylo jednak zgodne z faktycznym zachowaniem, dlatego zostalo poprawione (zob. wyzej). Inne implementacje column moga wciaz korzystac ze starszej dokumentacji, lecz ich zachowanie powinno byc identyczne. PRZYKLADY Wypisuje fstab z wierszem naglowka oraz wyrownuje 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 Wypisuje tabele z podanym separatorem zawijania: echo -e 'Nazwa:Opis\nJan:tworca|oprogramowania\nJanina:analityk|danych' | column --table --separator ':' --table-wrap 2 --wrap-separator '|' Nazwa Opis Jan tworca oprogramowania Janina analityk danych ZOBACZ TAKZE colrm(1), ls(1), paste(1), sort(1) ZGLASZANIE BLEDOW Problemy nalezy zglaszac w systemie sledzenia bledow . DOSTEPNOSC Polecenie column jest czescia pakietu util-linux, ktory mozna pobrac ze strony Archiwum jadra Linux . util-linux 2.42.3 2026-09-02 COLUMN(1)