Home > Text Processing & Search > col

col: Filtering Control Characters

The col command filters reverse line feeds and other control characters from an input stream, converting them into plain text. It is commonly used to process the output of `man` pages or other formatted text to improve readability.

Overview

col transforms text streams by removing or converting specific control characters, making them suitable for display on terminals or in files. It is particularly useful for handling sequences like backspaces used for text emphasis in `man` pages.

Key Features

  • Removes reverse line feeds
  • Processes backspace characters (removes or converts to spaces)
  • Expands tab characters to spaces
  • Filters other control characters

Key Options

Filtering Options

Generated command:

Try combining the commands.

Description:

`col` Executes the command.

Combine the above options to virtually execute commands with AI.

Usage Examples

The col command is primarily used to process the output of other commands via pipes (|).

Filtering `man` page output

man ls | col -b > ls_manpage.txt

Pipes the output of `man ls` through `col -b` to remove backspace-induced bold formatting and produce pure text. This is useful when saving `man` pages to a file.

Converting tabs to spaces

cat my_file_with_tabs.txt | col -x

Processes the content of a file containing tab characters with `col -x` to convert all tabs into spaces. This helps maintain consistent formatting in text files.

Handling both backspaces and tabs

some_command_output | col -bx

Processes both backspace and tab characters to achieve the cleanest plain text output.

Tips & Notes

The col command is specialized for converting specific output formats into plain text.

Using with `man` pages

When saving `man` page output to a file or piping it to another program, it's recommended to use `col -b` or `col -bx` to remove unnecessary control characters. For example, `man <command> | col -bx | less` provides a cleaner output in `less`.

  • `man <command> | col -bx` is a standard way to convert `man` pages to plain text.
  • Using `col` when saving output to a file makes it easier to view in a text editor later.

Combining with other text processing tools

`col` becomes more powerful when used in pipelines with other text processing tools like `sed`, `awk`, and `grep`. For instance, you can use it as `man | col -bx | grep 'keyword'`.


Same category commands