AIX命令参考大全,卷 4,n - r - newform 命令

[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]

AIX命令参考大全,卷 4,n - r

newform 命令

用途

更改文本文件的格式。

语法

newform [ -s ] [ -f ] [ -a [ Number ] ] [ -b [ Number ] ] [ -c [ Character ] ] [ -e [ Number ] ] [ -i [ TabSpec ] ] [ -l [ Number ] ] [ -o [ TabSpec ] ] [ -p [ Number ] ] [ File ... ]

描述

newform 命令从由 File 参数(缺省情况下为标准输入)指定的文件中读取多行,然后将格式化后的行写入标准输出中。根据有效的命令行标志,行需要重新格式化。

除了 -s 标志,您可以以任何顺序输入命令行标志,可以重复,也可以和 File 参数混合使用。然而,系统按您指定的顺序处理命令行标志。例如,-c 标志修改 -a-p 标志的行为,所以试图更改 -p-a 标志之前指定 -c 标志。 -l(小写字母 l)标志修改 -a-b-e-p 标志的行为,所以试图更改这些标志之前指定 -l 标志。例如,像标志序列 -e 15 -l 60 产生的结果和标志序列 -l 60 -e 15 产生的结果就不一样。 标志可以应用到命令行所指定的所有文件中。

出口值为 0 表示正常执行;出口值为 1 表示出现错误。

注:
  1. newform 命令通常只跟踪物理字符;然而,对于 -i-o 标志,newform 命令跟踪退格键,这样就可以调整适当的逻辑列里的制表符。
  2. 如果系统从标准输入中读取了一个 TabSpec 变量值(通过使用 -i--o- 标志),则 newform 命令不会提示您。
  3. 如果指定了 -f 标志,并且最后指定的 -o 标志是以 -o--i- 开头的 -o-,那么制表符规范格式行不正确。
  4. 如果为 -p-l-e -a-b 标志指定的值不是大于1的有效十进制数,那么忽略指定值,并执行缺省操作。

标志

-a [ Number ] 当行的长度小于有效的行长度时,将指定的字符数添加到行尾。如果没有指定数值,则 -a 标志默认为 0,并且添加获得有效的行长度所必需的字符数。同时请参考 -c [ Character ]-p [ Number ] 标志。
-b [ Number ] 如果行的长度大于有效的行长度,那么从行的开头截掉指定的字符数。如果该行包含少于 Number 参数指定值的字符数,那么整个行将被删除并在此处显示一个空白行。同时请参考 -I [ Number ] 标志。如果指定了 -b 标志但未指明 Number 变量,缺省操作将截掉获得有效的行长度所必需的字符数。

该标志能够用来从 COBOL 程序中删除序列号,如下所示:

newform -l1-b7 file-name

-l1 标志必须用来设置有效的行长度,这个长度比文件中任何现有的行都要短,这样 -b 标志才能被激活。

-c [ Character ] 将 prefix/add 字符更改为由 Character 变量指定的字符。如果在 -a-p 标志之前指定,缺省字符是空格并且可用。
-e [ Number ] 从行尾截掉指定的字符数。否则,该标志和 -b [ Number ] 标志相同。
-f 在写任何其它行之前,将制表符规范格式行写入标准输出。显示的制表符规范格式行和由最终的 -o 标志指定的格式相符合。如果没有 -o 标志被指定,那么显示的行会包含 -8 的缺省规范。
-i [ TabSpec ] 用由 TabSpec 变量指定的空格数替换输入中所有的制表符。

该变量能够标识所有的在 tabs 命令中描述的制表符规范格式。

如果为 TabSpec 变量的值指定一个 -(减号),那么 newform 命令会假定能在从标准输入读取的第一行中找到制表符规范。 TabSpec 的缺省值是 -8。TabSpec 值为 -0 时不需要制表符。如果找到任何制表符,则认为其值为 -1。

-l [ Number ] 将有效的行长度设置为指定的字符数。 如果 Number 变量没有被指定,则 -l 标志缺省值为 72。没有 -l 标志的缺省行长度是 80 个字符。注意制表符和退格键被认为是一个字符(使用 -i 标志将制表符扩展为空格)。您必须在指定 -b-e 之前指定 -l 标志。
-o [ TabSpec ] 根据给定的制表符规范,在输出中用制表符替换输入中的空格。TabSpec 的缺省值是 -8。TabSpec 的值为 -0 时意味着在输出中没有空格可以转换为制表符。
-p [ Number ] 当行的长度小于有效的行长度时,在该行的开头附加指定的字符数。缺省操作是附加获得有效行长度所必需的字符数。同时请参考 -c 标志。
-s 删除每行的前导字符直到出现第一个制表符,并且将被删除的最多 8 个字符放置在行尾。如果多于 8 个字符被删除(不包含第一个制表符),那么第 8 个字符被 *(星号)替换,并且它右边的所有字符被废弃。第一个制表符总是被废弃。

删除的字符在内部被保存,直到所有其它的指定标志应用于该行。然后将这些字符添加到被处理行的尾部。

注:
-a -b -e-l(小写字母 l)和 -p 标志的值不能大于 LINE_MAX 或 2048 个字节。

示例

要按以下内容从一个文件转换:

到另一个文件:

输入以下内容:

newform -s -i -l -a -e filename

如果将 -s 标志用于每一行都没有制表符的文件中,则 newform 命令会显示以下错误消息并停止。

newform: 0653-457 文件不是由 -s 标志支持的格式。

相关信息

tabs 命令、csplit 命令。

[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]