linux如何轻松过滤控制字符?
linux中可以过滤控制字符的命令是“col”。
Linux col命令
col命令是linux下的一个文档编辑命令,其英文全称是“colation”,翻译过来就是“过滤”,col命令主要有一个功能,能够在许多说明文件里有效地过滤掉控制字符。
说明:col命令就相当于一个标准输入文本过滤器,它会从标注输入设备内读取文本内容,并且将内容显示到标注输出设备。
在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符">"和">>",把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。
语法
1 | col [-bfx][-l<缓冲区列数>] |
参数:
-b 过滤掉所有的控制字符,包括RLF和HRLF。
-f 滤除RLF字符,但允许将HRLF字符呈现出来。
-x 以多个空格字符来表示跳格字符。
-l<缓冲区列数> 预设的内存缓冲区有128列,您可以自行指定缓冲区的大小。
col命令实例
(1)将 Tab 替换为空格,一般 1 个 Tab 转为 4 个空格。
1 | echo -e “123 456” | col -x |
(2)将空格替换为 Tab,一般 4 个 空格转为 1 个 Tab。
1 | echo -e “123 456” | col -h |
(3)将帮助文档内的控制符删除。以 col 命令的 manual 为例。
1 | man col | col -b > man_col.txt |
(4)下面以 man 命令帮助文档为例,讲解col 命令的使用。
将man 命令的帮助文档保存为man_help,使用-b 参数过滤所有控制字符。在终端中使用如下命令:
1 | man man | col-b > man_help |
注:其中"|"用于建立管道,把man命令的输出结果转为col命令的输入数据。
我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!