手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

unexpand(1)

名称

expand, unexpand - 将制表符扩展为空格符,或者相反

用法概要

expand [-t tablist] [file]...
expand [-tabstop] [-tab1, tab2,. . ., tabn] [file]...
unexpand [-a] [-t tablist] [file]...

描述

expand 实用程序会将 file(或标准输入)复制到标准输出中,并将 TAB 字符扩展为 SPACE 字符。退格符将保留在输出中并减少制表符计算的列计数。expand 对于包含制表符的预处理字符文件非常有用(在排序、查看特定列等操作之前)。

unexpandfile(或标准输入)复制到标准输出,并将制表符放回数据中。缺省情况下,只将前导空格符和制表符转换为制表符字符串,但 –a 选项可覆盖这种方式(请参见下面的“选项”部分)。

选项

expand 支持以下选项:

–t tablist

指定制表停止位置。参数 tablist 必须包含一个十进制正整数,或多个十进制正整数(按升序排列,以空格字符或逗号分隔)。如果赋予一个数字,则制表符将设置为相隔 tablist 所指定的列位置数,而不是缺省的 8 个列位置。如果赋予多个数字,则制表符将设置在这些特定的列位置。

每个制表符停止位 N 必须为大于零的整数值,列表必须严格按照升序排列。这可以理解为,从输出行的开始处跳到位置 N 进行制表,从而使下一个字符输出位于该行的第 (N+1) 列的位置。

如果 expand 必须处理一个制表符,其位置超过了多个制表符停止位列表中所指定的最后位置,则该制表符在输出中将由一个空格符替代。

tabstop

指定为单个参数,将制表符设置为相隔 tabstop 空格符数,而不是缺省的 8 列。

tab1, tab2,...,tabn

tab1,tab2,..., tabn 指定的列位置设置制表符。

unexpand 支持以下选项:

–a

插入制表符来替换连续的两个或多个空格符时,将生成一个较小的输出文件。

–t tablist

指定制表停止位置。选项参数 tablist 必须是单个参数,其中包含一个十进制正整数或多个十进制正整数(按升序排列,以空格字符或逗号分隔)。如果赋予一个数字,则制表符将设置为相隔 tablist 所指定的列位置数,而不是缺省的 8 个列位置。如果赋予多个数字,则制表符将设置在这些特定的列位置。每个制表符停止位 N 必须为大于零的整数值,列表必须严格按照升序排列。这可以理解为,从输出行的开始处跳到位置 N 进行制表,从而使下一个字符输出位于该行的第 (N+1) 列的位置。在未指定 –t 选项时,缺省值相当于指定 –t 8(除了与 –a 选项进行交互之外,如下所述)。

对于超过多个制表符停止位列表中指定的最后位置的字符,不会进行空格到制表符的转换。

指定 –t 时,将忽略是否存在 –a 选项,转换不仅限于处理前导的空格字符。

操作数

expandunexpand 支持以下操作数:

file

要用作输入的文本文件的路径名。

环境变量

有关影响 expandunexpand 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。

退出状态

将返回以下退出值:

0

成功完成

>0

出现错误。

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
system/core-os
CSI
enabled(已启用)
接口稳定性
Committed(已确定)
标准
请参见 standards(5)

另请参见

tabs(1)attributes(5)environ(5)standards(5)