col

过滤输入数据中的反向换行及退格符


语法格式

col [-bfpx] [-l num]

命令简介

col命令用于过滤反向换行及退格符等特殊的控制字符,以便能够以正常的顺序输出数据,同时尽可能使用制表符替代空格字符。当需要处理nroff、tbl或man等命令的输出数据时,col命令是非常有用的。

col命令仅从标准输入接收数据,然后写到标准输出。

命令选项

-b  禁止输出任何退格符。当遇到多个退格符时,仅输出写到每个字符位置的最后一个字符。

-f  允许前进半行。

-p  不加修改地强制放行不能识别的控制字符序列。通常,除了能够识别和解释的控制字符序列之外,col命令会过滤掉输入数据中的其他任何控制字符序列。

-x  输出适当数量的空格字符,以替代制表符。

-l num  在内存中至少缓存指定数量的数据行(默认缓存128行)。

col命令能够识别和解释的打印机控制字符序列如下:

ESC-7  反向换行。

ESC-8  后退半行。

ESC-9  正向前进半行。

退格符  后退一个字符位置(在第一列时忽略之)。

回车符  回车。

换行符  回车换行。

shift in  采用主字符集。

shift out  采用备用字符集。

空格  前进一个字符位置。

制表符  移至下一个制表符位置。

纵向制表符  反向换行。

应用实例

1. 过滤man命令输出数据中的退格符等控制字符,以便生成一个常规的文本文件。

$ man bash | col -b > bash.txt
$

索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z