193 lines
8.0 KiB
Groff
193 lines
8.0 KiB
Groff
.\" 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 "February 2019" "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.
|
||
.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.
|
||
.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 the use of logical column names on the command line,
|
||
but keeps the header hidden when printing 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\-l, \-\-table-columns-limit\fP \fInumber\fP"
|
||
Specify maximal number of the input columns.
|
||
The last column will contain all remaining line data if the limit is smaller
|
||
than the number of the columns in the input data.
|
||
.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 text can be truncated 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 '\-' may 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 default is "table".
|
||
.IP "\fB\-L, \-\-keep\-empty\-lines\fP"
|
||
Preserve whitespace-only lines in the input. The default is ignore empty lines
|
||
at all. This option’s original name was \-\-table-empty-lines but is now
|
||
deprecated because it gives the false impression that the option only applies
|
||
to table mode.
|
||
.IP "\fB\-r, \-\-tree\fP \fIcolumn\fP"
|
||
Specify column to use tree-like output. Note that the circular dependencies and
|
||
other 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.
|
||
.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 HISTORY
|
||
The column command appeared in 4.3BSD-Reno.
|
||
.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
|
||
.PP
|
||
Historical versions of this tool indicated that "rows are filled before
|
||
columns" by default, and that the
|
||
.B \-x
|
||
option reverses this. This wording did not reflect the actual behavior, and it
|
||
has since been corrected (see above). Other implementations of
|
||
.B column
|
||
may continue to use the older documentation, but the behavior should be
|
||
identical in any case.
|
||
.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
|
||
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 SEE ALSO
|
||
.BR colrm (1),
|
||
.BR ls (1),
|
||
.BR paste (1),
|
||
.BR sort (1)
|
||
.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/.
|