col 命令详解

语法

 col [-bfpx] [-l num]

简介

col 命令用来滤除标准输入的反向换行符(RLF-Reverse Line Feed)和半反向换行符(HRLF-Halt RLF)。这个工具还可以将"空白"用等价制表符(tab)或空格(space)来替换。 它最主要的应用还是从特定的文本处理工具中过滤输出, 比如groff和tbl。

col 命令可用于过滤除 RLF(Reverse Line Feed)和HRLF(Halt RLF) 之外的其他控制字符。

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

col 命令从标准输入中读取数据并写到标准输出。

下面是所有可用的选项

 -b     过滤掉所有的控制字符,包括 RLF 和 HRLF。

 -f     允许将 半正向换行符(HLF) 字符呈现出来。其他字符依然会被过滤。

 -p    强制对于未知的控制字符不做任何处理,原样输出。
       通常情况下 col 命令会过滤掉输入流中的所有控制字符,
       而col无法理解和转换的控制字符会被丢弃。

 -x     使用多个空格代替制表符。

 -lnum  col 命令在向输出流写数据时,会使用缓冲存。
       -l 选项用于“以行为单位”指定缓冲区的大小,默认情况缓冲区为128行。

col 能够理解的控制字符如下:

 ESC-7            reverse line feed (escape then 7)
 ESC-8            half reverse line feed (escape then 8)
 ESC-9            half forward line feed (escape then 9)
 backspace        moves back one column (8); ignored in the first column carriage return  (13)
 newline          forward line feed (10); also does carriage return
 shift in         shift to normal character set (15)
 shift out        shift to alternate character set (14)
 space            moves forward one column (32)
 tab              moves forward to next tab stop (9)
 vertical tab     reverse line feed (11)

所有未被理解的控制字符和转义字符都会被忽略掉。

你可能感兴趣的:(col 命令详解)