Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
COLUMN(1)			 User Commands			     COLUMN(1)

NAME
       column -	columnate lists

SYNOPSIS
       column [options]	[file ...]

DESCRIPTION
       The column utility formats its input into multiple columns. The util
       support three modes:

       columns are filled before rows
	   This	is the default mode (required by backward compatibility).

       rows are	filled before columns
	   This	mode is	enabled	by option -x, --fillrows

       table
	   Determine the number	of columns the input contains and create a
	   table. This mode is enabled by option -t, --table and columns
	   formatting is possible to modify by --table-* options. Use this
	   mode	if not sure. The output	is aligned to the terminal width in
	   interactive mode and	the 80 columns in non-interactive mode (see
	   --output-width for more details).

       Input is	taken from file, or otherwise from standard input. Empty lines
       are ignored and all invalid multibyte sequences are encoded by x<hex>
       convention.

OPTIONS
       The argument columns for	--table-* options is a comma separated list of
       the column names	as defined by --table-columns, or names	defined	by
       --table-column or it's column number in order as	specified by input.
       It's possible to	mix names and numbers. The special placeholder '0'
       (e.g. -R0) may be used to specify all columns and '-1' (e.g. -R -1) to
       specify the last	visible	column.	It's possible to use ranges like '1-5'
       when addressing columns by numbers.

       -J, --json
	   Use JSON output format to print the table, the option
	   --table-columns is required and the option --table-name is
	   recommended.

       -c, --output-width width
	   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 width is	not
	   truncated by	default. The default is	a terminal width and the 80
	   columns in non-interactive mode. The	column headers are never
	   truncated.

	   The placeholder "unlimited" (or 0) is possible to use to not
	   restrict output width. This is recommended for example when output
	   to the files	rather than on terminal.

       -d, --table-noheadings
	   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.

       -o, --output-separator string
	   Specify the columns delimiter for table output (default is two
	   spaces).

       -s, --separator separators
	   Specify the possible	input item delimiters (default is whitespace).

       -t, --table
	   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 --output-separator	option.	Table
	   output is useful for	pretty-printing.

       -C, --table-column properties
	   Define one column by	comma separated	list of	column attributes.
	   This	option can be used more	than once, every use defines just one
	   column. The properties replace some of --table- options. For
	   example --table-column name=FOO,right define	one column where text
	   is aligned to right.	The option is mutually exclusive to
	   --table-columns.

	   The currently supported attributes are:

	   name=string
	       Specifies column	name.

	   trunc
	       The column text can be truncated	when necessary.	The same as
	       --table-truncate.

	   right
	       Right align text	in the specified columns. The same as
	       --table-right.

	   width=number
	       Specifies column	width. The width is used as a hint only. The
	       width is	strictly followed only when strictwidth	attribute is
	       used too.

	   strictwidth
	       Strictly	follow column width= setting.

	   noextreme
	       Specify columns where is	possible to ignore unusually long
	       cells. See --table-noextreme for	more details.

	   wrap
	       Specify columns where is	possible to use	multi-line cell	for
	       long text when necessary. See --table-wrap.

	   hide
	       Don't print specified columns. See --table-hide.

	   json=type
	       Define column type for JSON output, Supported are string,
	       number and boolean.

       -N, --table-columns names
	   Specify the columns names by	comma separated	list of	names. The
	   names are used for the table	header or to address column in option
	   argument. See also --table-column.

       -l, --table-columns-limit number
	   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.

       -R, --table-right columns
	   Right align text in the specified columns.

       -T, --table-truncate columns
	   Specify columns where text can be truncated when necessary,
	   otherwise very long table entries may be printed on multiple	lines.

       -E, --table-noextreme columns
	   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.

       -e, --table-header-repeat
	   Print header	line for each page.

       -W, --table-wrap	columns
	   Specify columns where is possible to	use multi-line cell for	long
	   text	when necessary.

       -H, --table-hide	columns
	   Don't print specified columns. The special placeholder '-' may be
	   used	to hide	all unnamed columns (see --table-columns).

       -O, --table-order columns
	   Specify columns order on output.

       -n, --table-name	name
	   Specify the table name used for JSON	output.	The default is
	   "table".

       -m, --table-maxout
	   Fill	all available space on output.

       -L, --keep-empty-lines
	   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.

       -r, --tree column
	   Specify column to use tree-like output. Note	that the circular
	   dependencies	and other anomalies in child and parent	relation are
	   silently ignored.

       -i, --tree-id column
	   Specify column with line ID to create child-parent relation.

       -p, --tree-parent column
	   Specify column with parent ID to create child-parent	relation.

       -x, --fillrows
	   Fill	rows before filling columns.

       -h, --help
	   Display help	text and exit.

       -V, --version
	   Print version and exit.

ENVIRONMENT
       The environment variable	COLUMNS	is used	to determine the size of the
       screen if no other information is available.

HISTORY
       The column command appeared in 4.3BSD-Reno.

BUGS
       Version 2.23 changed the	-s option to be	non-greedy, for	example:

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

       Old output:

	   a  b	 c
	   1  3

       New output (since util-linux 2.23):

	   a  b	 c
	   1	 3

       Historical versions of this tool	indicated that "rows are filled	before
       columns"	by default, and	that the -x option reverses this. This wording
       did not reflect the actual behavior, and	it has since been corrected
       (see above). Other implementations of column may	continue to use	the
       older documentation, but	the behavior should be identical in any	case.

EXAMPLES
       Print fstab with	header line and	align number to	the right:

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

       Print fstab and hide unnamed columns:

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

       Print a tree:

	   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

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

REPORTING BUGS
       For bug reports,	use the	issue tracker at
       https://github.com/util-linux/util-linux/issues.

AVAILABILITY
       The column command is part of the util-linux package which can be
       downloaded from Linux Kernel Archive
       <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.39.4		  2024-01-31			     COLUMN(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=column&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help