col - filter reverse line feeds from input


col [ -bfx] [ -l num]


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

The col(1) utility reads from the standard input and writes to the standard output.


Do not output any backspaces; prints only the last character written to each column position.
Forward half line feeds are permitted ("fine" mode). Characters printed on a half line boundary are usually printed on the following line.
Output multiple spaces instead of tabs.
Buffer at least num lines in memory. By default, 128 lines are buffered.

The following tables lists the control sequences for carriage motion that col(1) understands and their decimal values:

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

All unrecognized control characters and escape sequences are discarded.

The col(1) utility keeps track of the character set as characters are read and ensures that the character set is correct when they are output.

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