expand [-t tablist] [file]...
expand [-tabstop] [-tab1, tab2,. . ., tabn] [file]...
unexpand [-a] [-t tablist] [file]...
expand 实用程序会将 file(或标准输入)复制到标准输出中,并将 TAB 字符扩展为 SPACE 字符。退格符将保留在输出中并减少制表符计算的列计数。expand 对于包含制表符的预处理字符文件非常有用(在排序、查看特定列等操作之前)。
unexpand 将 file(或标准输入)复制到标准输出,并将制表符放回数据中。缺省情况下,只将前导空格符和制表符转换为制表符字符串,但 –a 选项可覆盖这种方式(请参见下面的“选项”部分)。
expand 支持以下选项:
指定制表停止位置。参数 tablist 必须包含一个十进制正整数,或多个十进制正整数(按升序排列,以空格字符或逗号分隔)。如果赋予一个数字,则制表符将设置为相隔 tablist 所指定的列位置数,而不是缺省的 8 个列位置。如果赋予多个数字,则制表符将设置在这些特定的列位置。
每个制表符停止位 N 必须为大于零的整数值,列表必须严格按照升序排列。这可以理解为,从输出行的开始处跳到位置 N 进行制表,从而使下一个字符输出位于该行的第 (N+1) 列的位置。
如果 expand 必须处理一个制表符,其位置超过了多个制表符停止位列表中所指定的最后位置,则该制表符在输出中将由一个空格符替代。
指定为单个参数,将制表符设置为相隔 tabstop 空格符数,而不是缺省的 8 列。
在 –tab1,tab2,..., tabn 指定的列位置设置制表符。
unexpand 支持以下选项:
插入制表符来替换连续的两个或多个空格符时,将生成一个较小的输出文件。
指定制表停止位置。选项参数 tablist 必须是单个参数,其中包含一个十进制正整数或多个十进制正整数(按升序排列,以空格字符或逗号分隔)。如果赋予一个数字,则制表符将设置为相隔 tablist 所指定的列位置数,而不是缺省的 8 个列位置。如果赋予多个数字,则制表符将设置在这些特定的列位置。每个制表符停止位 N 必须为大于零的整数值,列表必须严格按照升序排列。这可以理解为,从输出行的开始处跳到位置 N 进行制表,从而使下一个字符输出位于该行的第 (N+1) 列的位置。在未指定 –t 选项时,缺省值相当于指定 –t 8(除了与 –a 选项进行交互之外,如下所述)。
对于超过多个制表符停止位列表中指定的最后位置的字符,不会进行空格到制表符的转换。
指定 –t 时,将忽略是否存在 –a 选项,转换不仅限于处理前导的空格字符。
expand 和 unexpand 支持以下操作数:
要用作输入的文本文件的路径名。
有关影响 expand 和 unexpand 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。
将返回以下退出值:
成功完成
出现错误。
有关下列属性的说明,请参见 attributes(5):
|