迹忆博客
当前位置: 主页 > 学无止境 > 操作系统 > 文章

Linux过滤控制字符命令col

发布时间: 2016-10-08 作者: 迹忆 浏览次数:

col命令的功能是过滤控制字符,它也是管道命令家族中的一员。

在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符”>”和”>>”,把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。

-x 将 tab 键转换成对等的空格键

-b 在文字内有反斜杠 (/) 时,仅保留反斜杠最后接的那个字符

-f 滤除RLF字符,但允许将HRLF字符呈现出来。

-l<缓冲区列数> 预设的内存缓冲区有128列,您可以自行指定缓冲区的大小。

对于该命令的使用实例我就拿鸟哥的两个例子来借花献佛了。

范例一:利用 cat -A 显示出所有特殊按键,最后以 col 将 [tab] 转成空白

[root@www ~]# cat -A /etc/man.config  <==此时会看到很多 ^I 的符号,那就是 tab
[root@www ~]# cat /etc/man.config | col -x | cat -A | more
# 嘿嘿!如此一来, [tab] 按键会被取代成为空格键,输出就美观多了!
范例二:将 col 的 man page 转存成为 /root/col.man 的纯文本档
[root@www ~]# man col > /root/col.man
[root@www ~]# vi /root/col.man

COL(1)          BSD General Commands Manual               COL(1)

N^HNA^HAM^HME^HE
          c^Hco^Hol^Hl - filter reverse line feeds from input
          S^HSY^HYN^HNO^HOP^HPS^HSI^HIS^HS
          c^Hco^Hol^Hl [-^H-b^Hbf^Hfp^Hpx^Hx] [-^H-l^Hl _^Hn_^Hu_^Hm]

# 你没看错!由于 man page 内有些特殊按钮会用来作为类似特殊按键与颜色显示,
# 所以这个文件内就会出现如上所示的一堆怪异字符(有 ^ 的)

[root@www ~]# man col | col -b > /root/col.man

col 经常被利用于将 man page 转存为纯文本文件以方便查阅的功能!对于其他选项的详细用法可以使用man col查看。

除非注明转载,本站文章均为原创,欢迎转载,转载请以链接形式注明出处

本文地址: