COLUMN(1) Användarkommandon COLUMN(1)

column - kolumnera listor

column [flaggor] [fil ...]

Verktyget column formaterar indata till flera kolumner. Det stöder tre lägen:

fylla kolumner före rader

Detta är standardläget (krävs för bakåtkompatibilitet).

fylla rader före kolumner

Detta läge aktiveras med flaggan -x, --fillrows.

skapa en tabell

Bestäm antalet kolumner i indata och skapa en tabell. Läget aktiveras med flaggan -t/--table. Utdata anpassas till terminalbredden i interaktivt läge och till 80 kolumner i icke-interaktivt läge (se --output-width för mer information). Formateringen kan anpassas med olika --table-*-flaggor.

Indata hämtas från fil, eller på annat sätt från standardinmatning. Tomma rader ignoreras och alla ogiltiga multibyte-sekvenser kodas med konventionen x<hex>.

Argumentet kolumner för --table--flaggorna nedan är en kommaseparerad lista över användarvalda namn definierade med *--table-columns namn1,namn2,..., kolumnindex enligt ordningen i indata med början på 1, eller namn definierade med ett --table-column-attribut. Namn och index kan blandas. Specialvärdet ”0” (t.ex. -R0) kan användas för alla kolumner och ”-1” (t.ex. -R -1) för den sista synliga kolumnen. Intervall som ”1-5” kan användas när kolumner adresseras med index.

-J, --json

Använd JSON-utdataformat för att skriva ut tabellen. Flaggan --table-columns är obligatorisk och flaggan --table-name rekommenderas.

-c, --output-width width

Utdata formateras till en bredd angiven som antal tecken. Observera att indata som är längre än bredd inte trunkeras som standard. Standardvärdet är terminalbredden i interaktivt läge och 80 kolumner i icke-interaktivt läge. Kolumnrubrikerna trunkeras aldrig.

Specialvärdet unlimited (eller 0) kan användas för att undvika att utdatabredden begränsas. Detta rekommenderas när utdata omdirigeras till en fil.

(Det ursprungliga långa namnet på denna flagga var --columns; det namnet är föråldrat sedan v2.30.)

-d, --table-noheadings

Utelämna rubrikraden. Flaggan gör att användarvalda kolumnnamn kan anges på kommandoraden medan rubrikraden förblir dold när tabellen skrivs ut.

-o, --output-separator sträng

Kolumnavgränsare för tabellutdata (standard är två mellanslag).

-s, --input-separator, --separator avgränsare

Möjliga avgränsare för indataobjekt (standard är blankutrymme).

-S, --use-spaces nummer

Använd blanksteg i stället för tabulatorer för att justera kolumnerna när tabelläge inte används. Flaggan anger minsta antal blanksteg mellan två kolumner.

-t, --table

Bestäm antalet kolumner som indata innehåller och skapa en tabell. Kolumnerna avgränsas som standard med blanksteg eller med tecken som anges med flaggan --output-separator. Tabellutdata är användbara för pretty-printing.

--table-colorscheme namn

Anger färgschemat. Standardnamnet är ”column”. Se avsnittet FÄRGER för mer information.

-C, --table-column attributes

Definiera en kolumn med en kommaseparerad lista över attribut. Flaggan kan användas flera gånger; varje användning definierar en kolumn. Attribut ersätter vissa --table--flaggor: exempelvis definierar *--table-column name=FOO,right en kolumn med högerjusterad text. Flaggan kan inte kombineras med -N/--table-columns.

Attribut som stöds är:

name=sträng

Kolumnens namn.

trunc

Trunkera kolumntext vid behov. Samma som --table-truncate. Observera att kolumnrubriken aldrig trunkeras och bestämmer minsta kolumnbredd.

tree

Använd denna kolumn för trädliknande utdata. Se --tree för mer information.

right

Högerjustera text. Samma sak som --table-right.

width=antal

Kolumnbredd. Används endast som vägledning. Ange även attributet strictwidth för att framtvinga bredden. Den faktiska minimibredden är kolumnrubrikens bredd.

strictwidth

Följ width= strikt för att ställa in kolumnens minsta bredd. Kolumnen kan vara bredare om utdatabredden ger tillräckligt utrymme.

noextremes

Ignorera ovanligt långt innehåll vid breddberäkning. Se --table-noextreme för mer information.

hidden

Skriv inte ut kolumnen. Se --table-hide för mer information.

wrap

Tillåt vid behov en cell med flera rader för lång text. Observera att kolumnrubriken aldrig radbryts och bestämmer minsta kolumnbredd. Se --table-wrap för mer information.

wrapnl

Radbryt vid nyradstecken; nyrader i celldata behandlas som radbrytningar.

wrapzero

Radbryt vid nolltecken (NUL) i celldata.

json=typ

Definiera kolumnens typ för JSON-utdata. Typer som stöds är string, number, float, array-string, array-number och boolean.

color=namn

Definiera kolumnens färg för utmatning till terminalen. namn är ett färgnamn (black, blink, blue, bold, brown, cyan, darkgray, gray, green, halfbright, lightblue, lightcyan, lightgray, lightgreen, lightmagenta, lightred, magenta, red, reset, reverse och yellow) eller nummer för ANSI-färgsekvenser åtskilda av semikolon, men utan prefixet ”ESC[” och suffixet ”m”. Exempelvis definierar ”37;41” sekvenser för röd bakgrund och vit förgrund. Se avsnittet FÄRGER för mer information.

colorkey=namn

Ange färg som definieras i färgschemat. Se --table-colorscheme.

headercolor=namn

Som color=, men definiera färgen endast för kolumnrubriken.

headercolorkey=namn

Ange rubrikfärg som definieras i färgschemat. Se --table-colorscheme.

-N, --table-columns names

Ange kolumnnamn med en kommaseparerad lista. Namnen används för tabellhuvudet och kolumnadresseringen i flaggargument. Se även --table-column.

-l, --table-columns-limit nummer

Ange maximalt antal kolumner i indata. Den sista kolumnen kommer att innehålla alla återstående raddata om gränsen är mindre än antalet kolumner i indata.

-R, --table-right kolumner

Högerjustera text i angivna kolumner.

-T, --table-truncate kolumner

Ange kolumner där texten kan förkortas vid behov, annars kan mycket långa tabellposter skrivas ut på flera rader.

-E, --table-noextreme kolumner

Ange kolumner där det är möjligt att ignorera ovanligt långa (längre än genomsnittet) celler vid beräkning av kolumnbredd. Flaggan påverkar breddberäkningen och tabellformateringen, men den utskrivna texten påverkas inte.

Flaggan används som standard för den sista synliga kolumnen.

-e, --table-header-repeat

Skriv ut rubrikraden för varje sida.

-K, --table-header-as-columns

Använd första indataraden som tabellrubrik. Flaggan kan inte kombineras med --table-columns eller --table-column.

-W, --table-wrap kolumner

Ange kolumner där celler med flera rader kan användas för lång text. Som standard radbryts texten efter kolumnbredden. Använd --wrap-separator för att i stället radbryta vid anpassade avgränsartecken. Observera att kolumnrubriken aldrig radbryts och bestämmer minsta kolumnbredd.

--wrap-separator sträng

Använd sträng som avgränsare för radbrytning i kolumner där radbrytning är aktiverad. Avgränsaren ersätts med nyrader när texten visas. Flaggan kräver tabelläge och kolumner med aktiverad radbrytning (se --table-wrap). Använd exempelvis | för att tillåta radbrytning vid lodstreck i kolumndata.

-H, --table-hide kolumner

Skriv inte ut angivna kolumner. Specialvärdet ”-” kan användas för att dölja alla namnlösa kolumner (se --table-columns).

-O, --table-order kolumner

Ange kolumnordning för utdata.

-n, --table-name namn

Ange det tabellnamn som används för JSON-utdata. Standardvärdet är "table".

-m, --table-maxout

Fyll i allt tillgängligt utrymme på utskriften.

-L, --keep-empty-lines

Bevara rader med enbart blanksteg i inmatningen. Standardinställningen är att ignorera alla tomma rader. Den här flaggans ursprungliga namn var --table-empty-lines, men har sedan dess tagits bort eftersom det ger ett felaktigt intryck av att flaggan endast gäller för tabelläget.

-r, --tree column

Ange vilken kolumn som ska användas för en trädliknande utmatning. Observera att cirkulära beroenden och andra avvikelser i relationen mellan barn och förälder ignoreras i tysthet.

-i, --tree-id column

Ange den kolumn som innehåller varje rads unika barn-ID för en barn-förälder-relation.

-p, --tree-parent column

Ange den kolumn som innehåller varje rads föräldra-ID för en barn-förälder-relation.

-x, --fillrows

Fyll raderna innan du fyller kolumnerna.

--color[=när]

Färglägger utdata. Det valfria argumentet när kan vara auto, never eller always. Om argumentet när utelämnas är standardvärdet auto. Färgerna kan inaktiveras; för den aktuella inbyggda standardinställningen, se utmatningen --help. Se även avsnittet FÄRGER.

-h, --help

Visa hjälptext och avsluta.

-V, --version

Visa version och avsluta.

Färgläggningen av utdata implementeras av terminal-colors.d(5) funktionalitet. Implicit färgläggning kan inaktiveras med en tom fil

/etc/terminal-colors.d/column.disable

för kommandot column eller för alla verktyg med

/etc/terminal-colors.d/disable

Sedan version 2.41 stöds även miljövariabeln $NO_COLOR som inaktiverar färgläggning av utdata om den inte uttryckligen aktiveras med en kommandoradsflagga.

Den användarspecifika $XDG_CONFIG_HOME/terminal-colors.d eller $HOME/.config/terminal-colors.d åsidosätter den globala inställningen.

Observera att färgläggningen av utdata kan vara aktiverad som standard, och i så fall behöver inte terminal-colors.d-katalogerna finnas ännu.

Standardnamnet på färgschemat är ”column” och det kan åsidosättas med

--table-colorscheme namn

Därefter kan filen namn[.disable|enable|scheme] användas i /etc/terminal-colors.d/, $XDG_CONFIG_HOME/terminal-colors.d eller $HOME/.config/terminal-colors.d/.

Det logiska färgnamnet (nyckeln) i färgschemat kan anges med kolumnegenskaperna colorkey= och headercolorkey=. Till exempel

echo 'important red'           > ~/.config/terminal-colors.d/cooltable.scheme
echo 'important-header 37;41' >> ~/.config/terminal-colors.d/cooltable.scheme
echo -e "a b c\naa bb cc\naaa bbb ccc" | column -t \
        --table-colorscheme=cooltable \
        -C name=AAA,colorkey=important,headercolorkey=important-header \
        -C name=BBB,color=magenta,headercolor=cyan \
        -C name=CCC,color=green

Detta skapar ett färgschema med namnet ”cooltable” och färglägger den första kolumnens rubrik och data enligt nycklar i schemat. De andra två kolumnerna färgläggs med direkta färgnamn.

COLUMNS

används för att fastställa skärmens storlek om ingen annan information är tillgänglig.

LIBSMARTCOLS_DEBUG=all

aktiverar libsmartcols felsökningsutdata.

LIBSMARTCOLS_DEBUG_PADDING=on

använda synliga utfyllnadstecken.

Kommandot column dök upp i 4.3BSD-Reno.

I version 2.23 ändrades flaggan -s till att inte vara girig, till exempel:

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

Gammal utgång:

a  b  c
1  3

Ny utdata (sedan util-linux 2.23):

a  b  c
1     3

I historiska versioner av detta verktyg angavs att "rader fylls i före kolumner" som standard och att flaggan -x vänder på detta. Denna formulering återspeglade inte det faktiska beteendet och har sedan dess korrigerats (se ovan). Andra implementeringar av column kan fortsätta att använda den äldre dokumentationen, men beteendet bör vara identiskt i vilket fall som helst.

Skriv ut fstab med en rubrikrad och anpassa siffrorna till höger:

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

Skriv ut fstab och dölj namnlösa kolumner:

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

Skriv ut ett träd:

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

Skriv ut en tabell med anpassad avgränsare för radbrytning:

echo -e 'Name:Description\nJohn:A|software|developer\nJane:A|data|scientist' | column --table --separator ':' --table-wrap 2 --wrap-separator '|'
Name  Description
John  A
      software
      developer
Jane  A
      data
      scientist

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

För felrapporter, använd felhanteraren https://github.com/util-linux/util-linux/issues.

Kommandot column ingår i paketet util-linux som kan hämtas från Linux Kernel Archive https://www.kernel.org/pub/linux/utils/util-linux/.

2026-09-21 util-linux 2.42.4