功能说明:过滤控制字符。
语  法:col [-bfx][-l<缓冲区列数>]
补充说明:在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符">"和">>",把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。
参  数:
-b 过滤掉所有的控制字符,包括RLF和HRLF。
-f 滤除RLF字符,但允许将HRLF字符呈现出来。
-x 以多个空格字符来表示跳格字符。
-l<缓冲区列数> 预设的内存缓冲区有128列,您可以自行指定缓冲区的大小。
示例说明:

我在在linux下使用man查看一命令的帮助信息,如果我们想把它导入一文件,方便使用查找功能,如使用vi打开新生成的文件,然后可以在vi下使用很多查找命令,如下示

man ls > ls.txt
vi ls.txt
N^HNA^HAM^HME^HE
       ls - list directory contents
S^HSY^HYN^HNO^HOP^HPS^HSI^HIS^HS
       l^Hls^Hs [_^HO_^HP_^HT_^HI_^HO_^HN]... [_^HF_^HI_^HL_^HE]...
D^HDE^HES^HSC^HCR^HRI^HIP^HPT^HTI^HIO^HON^HN
       List  information  about  the FILEs (the current directory by default).
       Sort entries alphabetically if none of -^H-c^Hcf^Hft^Htu^Huv^HvS^HSU^HUX^HX nor -^H--^H-s^Hso^Hor^Hrt^Ht.
       Mandatory arguments to long options are  mandatory  for  short  options
       too.
       -^H-a^Ha, -^H--^H-a^Hal^Hll^H
####more ls.txt显示正常
[root@uyhd000225 ~]# man ls|col -b >ls2.txt
#more 和 vi现实都是正常的

:% !col -bx

-b:不输出回车符,即删除回车符。比如由DOS或windows下的文本以一个回车和换行结束每一行;而unix和linux则仅以换行作为结束,unix称之为“新行字符”。将DOS文本拿到unix下,利用vi显示会有^M(^M即ctrl+M,表示回车)。通过-b选项可以去掉。

-x:将tab变为等效的space。如果是tab,在vi中显示^I