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
-bash: col: command not found #Debian apt-get install bsdmainutils #Ubuntu apt-get install bsdmainutils #Alpine apk add util-linux #Arch Linux pacman -S util-linux #Kali Linux apt-get install bsdmainutils #CentOS yum install util-linux #Fedora dnf install util-linux #OS X brew install util-linux #Raspbian apt-get install bsdmainutils #Docker docker run cmd.cat/col col
col 命令 是一个标准输入文本过滤器,它从标注输入设备读取文本内容,并把内容显示到标注输出设备。在许多 UNIX 说明文件里,都有 RLF
控制字符。当我们运用 shell 特殊字符 > 和 >>,把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col 命令则能有效滤除这些控制字符。
col [-bfhpx] [-l num]
-b:过滤掉所有的控制字符,包括RLF和HRLF; -f:滤掉RLF字符,但允许将HRLF字符呈现出来; -x:以多个空格字符来表示跳格字符; -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] 按键会被取代成为空格键,输出就美观多了!
将man的说明文件转存为纯文本文件并过滤掉所有控制字符:
man col | col -b > file