col man page

col — filter reverse line feeds from input


col [options]


col filters out reverse (and half-reverse) line feeds so the output is in the correct order, with only forward and half-forward line feeds. It also replaces any whitespace characters with tabs where possible. This can be useful in processing the output of nroff(1) and tbl(1).

col reads from standard input and writes to standard output.


-b, --no-backspaces
Do not output any backspaces, printing only the last character written to each column position.
-f, --fine
Permit half-forward line feeds. Normally characters destined for a half-line boundary are printed on the following line.
-h, --tabs
Output tabs instead of multiple spaces.
-l, --lines number
Buffer at least number lines in memory. By default, 128 lines are buffered.
-p, --pass
Force unknown control sequences to be passed through unchanged. Normally col will filter out any control sequences other than those recognized and interpreted by itself, which are listed below.
-x, --spaces
Output multiple spaces instead of tabs.
-V, --version
Display version information and exit.
-H, --help
Display help text and exit.


The control sequences for carriage motion that col understands and their decimal values are listed in the following table:

reverse line feed (escape then 7)
half reverse line feed (escape then 8)
half forward line feed (escape then 9)
moves back one column (8); ignored in the first column
forward line feed (10); also does carriage return
carriage return
shift in
shift to normal character set (15)
shift out
shift to alternate character set (14)
moves forward one column (32)
moves forward to next tab stop (9)
vertical tab
reverse line feed (11)

All unrecognized control characters and escape sequences are discarded.

col keeps track of the character set as characters are read and makes sure the character set is correct when they are output.

If the input attempts to back up to the last flushed line, col will display a warning message.

See Also

expand(1), nroff(1), tbl(1)


The col utility conforms to the Single UNIX Specification, Version 2. The -l option is an extension to the standard.


A col command appeared in Version 6 AT&T UNIX.


The col command is part of the util-linux package and is available from Linux Kernel Archive.

Referenced By

colcrt(1), grotty(1).

Explore man page connections for col(1).

util-linux July 2014