col(1) — Linux manual page


COL(1)                        User Commands                       COL(1)

NAME         top

       col - filter reverse line feeds from input

SYNOPSIS         top

       col options

DESCRIPTION         top

       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.

OPTIONS         top

       -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.

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

       -V, --version
           Print version and exit.

CONFORMING TO         top

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

NOTES         top

       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

       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.

HISTORY         top

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

SEE ALSO         top

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

REPORTING BUGS         top

       For bug reports, use the issue tracker at

AVAILABILITY         top

       The col command is part of the util-linux package which can be
       downloaded from Linux Kernel Archive
       <>. This page
       is part of the util-linux (a random collection of Linux
       utilities) project. Information about the project can be found at
       ⟨⟩. If you have
       a bug report for this manual page, send it to This page was obtained from the
       project's upstream Git repository
       ⟨git://⟩ on
       2023-12-22. (At that time, the date of the most recent commit
       that was found in the repository was 2023-12-14.) If you discover
       any rendering problems in this HTML version of the page, or you
       believe there is a better or more up-to-date source for the page,
       or you have corrections or improvements to the information in
       this COLOPHON (which is not part of the original manual page),
       send a mail to

util-linux 2.39.777-d8379      2023-11-01                         COL(1)

Pages that refer to this page: colcrt(1)