| .\" Copyright (c) 1989, 1990, 1993 |
| .\" The Regents of the University of California. All rights reserved. |
| .\" |
| .\" Redistribution and use in source and binary forms, with or without |
| .\" modification, are permitted provided that the following conditions |
| .\" are met: |
| .\" 1. Redistributions of source code must retain the above copyright |
| .\" notice, this list of conditions and the following disclaimer. |
| .\" 2. Redistributions in binary form must reproduce the above copyright |
| .\" notice, this list of conditions and the following disclaimer in the |
| .\" documentation and/or other materials provided with the distribution. |
| .\" 3. All advertising materials mentioning features or use of this software |
| .\" must display the following acknowledgement: |
| .\" This product includes software developed by the University of |
| .\" California, Berkeley and its contributors. |
| .\" 4. Neither the name of the University nor the names of its contributors |
| .\" may be used to endorse or promote products derived from this software |
| .\" without specific prior written permission. |
| .\" |
| .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| .\" SUCH DAMAGE. |
| .\" |
| .\" @(#)column.1 8.1 (Berkeley) 6/6/93 |
| .\" |
| .TH COLUMN 1 "January 2017" "util-linux" "User Commands" |
| .SH NAME |
| column \- columnate lists |
| .SH SYNOPSIS |
| .BR column " [options]" |
| .RI [ file ...] |
| .SH DESCRIPTION |
| The |
| .B column |
| utility formats its input into multiple columns. The util support three modes: |
| .TP |
| .B columns are filled before rows |
| This is the default mode (required by backward compatibility). |
| .TP |
| .B rows are filled before columns |
| This mode is enabled by option \fB-x, \-\-fillrows\fP |
| .TP |
| .B table |
| Determine the number of columns the input contains and create a table. This |
| mode is enabled by option \fB-t, \-\-table\fP and columns formatting is |
| possible to modify by \fB\-\-table-*\fP options. Use this mode if not sure. |
| .PP |
| Input is taken from \fIfile\fR, or otherwise from standard input. Empty lines |
| are ignored and all invalid multibyte sequences are encoded by \\x<hex> convention. |
| .PP |
| .SH OPTIONS |
| The argument \fIcolumns\fP for \fB\-\-table-*\fP options is comma separated |
| list of the column names as defined by \fB\-\-table-columns\fP or it's column |
| number in order as specified by input. It's possible to mix names and numbers. |
| .PP |
| .IP "\fB\-J, \-\-json\fP" |
| Use JSON output format to print the table, the option |
| \fB\-\-table\-columns\fP is required and the option \fB\-\-table\-name\fP is recommended. |
| .IP "\fB\-c, \-\-output\-width\fP \fIwidth\fP" |
| Output is formatted to a width specified as number of characters. The original |
| name of this option is --columns; this name is deprecated since v2.30. Note that input |
| longer than \fIwidth\fP is not truncated by default. |
| .IP "\fB\-d, \-\-table\-noheadings\fP" |
| Do not print header. This option allows to use logical column names on command line, but keep the header hidden when print the table. |
| .IP "\fB\-o, \-\-output\-separator\fP \fIstring\fP" |
| Specify the columns delimiter for table output (default is two spaces). |
| .IP "\fB\-s, \-\-separator\fP \fIseparators\fP" |
| Specify the possible input item delimiters (default is whitespace). |
| .IP "\fB\-t, \-\-table\fP" |
| Determine the number of columns the input contains and create a table. |
| Columns are delimited with whitespace, by default, or with the characters |
| supplied using the \fB\-\-output\-separator\fP option. |
| Table output is useful for pretty-printing. |
| .IP "\fB\-N, \-\-table-columns\fP \fInames\fP" |
| Specify the columns names by comma separated list of names. The names are used |
| for the table header or to address column in option arguments. |
| .IP "\fB\-R, \-\-table-right\fP \fIcolumns\fP" |
| Right align text in the specified columns. |
| .IP "\fB\-T, \-\-table-truncate\fP \fIcolumns\fP" |
| Specify columns where is allowed to truncate text when necessary, otherwise |
| very long table entries may be printed on multiple lines. |
| .IP "\fB\-E, \-\-table-noextreme\fP \fIcolumns\fP" |
| Specify columns where is possible to ignore unusually long (longer than |
| average) cells when calculate column width. The option has impact to the width |
| calculation and table formatting, but the printed text is not affected. |
| |
| The option is used for the last visible column by default. |
| |
| .IP "\fB\-e, \-\-table\-header\-repeat\fP" |
| Print header line for each page. |
| .IP "\fB\-W, \-\-table-wrap\fP \fIcolumns\fP" |
| Specify columns where is possible to use multi-line cell for long text when |
| necessary. |
| .IP "\fB\-H, \-\-table-hide\fP \fIcolumns\fP" |
| Don't print specified columns. The special placeholder '-' maybe be used to |
| hide all unnamed columns (see --table-columns). |
| .IP "\fB\-O, \-\-table-order\fP \fIcolumns\fP" |
| Specify columns order on output. |
| .IP "\fB\-n, \-\-table-name\fP \fIname\fP" |
| Specify the table name used for JSON output. The defaout is "table". |
| .IP "\fB\-r, \-\-tree\fP \fIcolumn\fP" |
| Specify column to use tree-like output. Note that the circular dependencies and |
| another anomalies in child and parent relation are silently ignored. |
| .IP "\fB\-i, \-\-tree\-id\fP \fIcolumn\fP" |
| Specify column with line ID to create child-parent relation. |
| .IP "\fB\-p, \-\-tree\-parent\fP \fIcolumn\fP" |
| Specify column with parent ID to create child-parent relation. |
| .PP |
| .IP "\fB\-x, \-\-fillrows\fP" |
| Fill rows before filling columns. |
| .IP "\fB\-V\fR, \fB\-\-version\fR" |
| Display version information and exit. |
| .IP "\fB\-h, \-\-help\fP" |
| Display help text and exit. |
| .SH ENVIRONMENT |
| The environment variable \fBCOLUMNS\fR is used to determine the size of |
| the screen if no other information is available. |
| .SH EXAMPLES |
| Print fstab with header line and align number to the right: |
| .EX |
| \fBsed 's/#.*//' /etc/fstab | column --table --table-columns SOURCE,TARGET,TYPE,OPTIONS,PASS,FREQ --table-right PASS,FREQ\fR |
| .EE |
| .PP |
| Print fstab and hide unnamed columns: |
| .EX |
| \fBsed 's/#.*//' /etc/fstab | column --table --table-columns SOURCE,TARGET,TYPE --table-hide -\fR |
| .EE |
| .PP |
| |
| .PP |
| Print a tree: |
| .EX |
| \fBecho -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\fR |
| 1 0 A |
| 2 1 |-AA |
| 4 2 | |-AAA |
| 5 2 | `-AAB |
| 3 1 `-AB |
| .EE |
| .SH BUGS |
| Version 2.23 changed the |
| .B \-s |
| option to be non-greedy, for example: |
| .PP |
| .EX |
| \fBprintf "a:b:c\\n1::3\\n" | column -t -s ':'\fR |
| .EE |
| .PP |
| Old output: |
| .EX |
| a b c |
| 1 3 |
| .EE |
| .PP |
| New output (since util-linux 2.23): |
| .EX |
| a b c |
| 1 3 |
| .EE |
| .SH "SEE ALSO" |
| .BR colrm (1), |
| .BR ls (1), |
| .BR paste (1), |
| .BR sort (1) |
| .SH HISTORY |
| The column command appeared in 4.3BSD-Reno. |
| .SH AVAILABILITY |
| The column command is part of the util-linux package and is available from |
| https://www.kernel.org/pub/linux/utils/util-linux/. |