# man > COL(1)

> **TLDR:** Filter reverse line feeds from input.
>
- Filter reverse line feeds from input:
  `{{command}} | col`
- Filter reverse line feeds and output with spaces instead of tabs:
  `{{command}} | col {{-x|--spaces}}`
- Remove backspaces, output only the last character written to each position:
  `{{command}} | col {{-b|--no-backspaces}}`
- Specify a buffer size with a specific number of lines:
  `{{command}} | col {{-l|--lines}} {{num}}`
- Format a manual page for viewing with `less`:
  `man ls | col {{-b|--no-backspaces}} | less`
- Process a file with reverse line feeds and save the cleaned output:
  `cat {{path/to/input_file}} | col {{-x|--spaces}} > {{output_file}}`

*Source: tldr-pages*

---

[COL(1)](https://www.chedong.com/phpMan.php/man/COL/1/markdown)                                      User Commands                                     [COL(1)](https://www.chedong.com/phpMan.php/man/COL/1/markdown)



## NAME
       col - filter reverse line feeds from input

## SYNOPSIS
       **col** _options_

## DESCRIPTION
       **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)](https://www.chedong.com/phpMan.php/man/nroff/1/markdown) and [**tbl**(1)](https://www.chedong.com/phpMan.php/man/tbl/1/markdown).

       **col** reads from standard input and writes to standard output.

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

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

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

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

### newline
           forward line feed (10); also does carriage return

### carriage return
           (13)

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

       **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
       A **col** command appeared in Version 6 AT&T UNIX.

## SEE ALSO
       [**expand**(1)](https://www.chedong.com/phpMan.php/man/expand/1/markdown), [**nroff**(1)](https://www.chedong.com/phpMan.php/man/nroff/1/markdown), [**tbl**(1)](https://www.chedong.com/phpMan.php/man/tbl/1/markdown)

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

## AVAILABILITY
       The **col** 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.37.2                            2021-06-02                                       [COL(1)](https://www.chedong.com/phpMan.php/man/COL/1/markdown)
