手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

newform(1)

名称

newform - 更改文本文件的格式

用法概要

newform [-s] [-itabspec] [-otabspec] [-bn] [-en] [-pn] 
     [-an] [-f] [-cchar] [-ln] [filename]...

描述

newform 读取指定的 filename 或标准输入(如果未指定输入文件)中的行,并在标准输出中复制这些行。将根据有效的命令行选项重新设置行的格式。

–s 之外的其他命令行选项可以按任何顺序出现,可以重复,并且可以与可选的 filename 组合使用。命令行选项按指定的顺序进行处理。也就是说,–e15 –l60 这样的选项序列会产生不同于 –l60 –e15 的结果。选项将应用于命令行上的所有 filename

选项

支持以下选项:

–s

剪切每个行中第一个制表符之前的前导字符,然后将最多 8 个剪切的字符放在行的末尾。如果剪切的字符超过 8 个(不计第一个制表符),则将第八个字符替换为 *,丢弃其右侧的所有字符。始终丢弃第一个制表符。

如果对所有行中都没有制表符的文件使用此选项,将出现错误消息并退出程序。剪切的字符将在内部保存,直到指定的其他所有选项都应用到该行为止。然后,将字符添加到处理后的该行末尾。

例如,要将一个所有行都包含前导数字、一个或多个制表符以及文本的文件转换为以文本开头的文件,第一个制表符后的所有制表符都展开为空格,用空格填充到第 72 列(或者截断到第 72 列),并且开头的前导数字放在第 73 列,则应该使用以下命令:

newform  –s–i–l–a–e filename

–itabspec

输入制表符规范:根据指定的制表符规范,将制表符展开为空格。Tabspec 可识别 tabs(1) 中描述的所有制表符规范格式。此外,tabspec 可以是 ,在这种情况下 newform 假定制表符规范位于从标准输入读取的第一行中(请参见 fspec(4))。如果未指定 tabspec,则 tabspec 缺省为 −8tabspec−0 时不应有制表符;如果存在制表符,则将其处理为 −1

–otabspec

输出制表符规范:根据指定的制表符规范,将空格替换为制表符。制表符规范与 –itabspec 的相同。如果未指定 tabspec,则 tabspec 缺省为 −8tabspec−0 意味着不在输出中将空格转换为制表符。

–bn

在行长度大于有效行长度(请参见 −ln)时,从行开头开始截断 n 个字符。缺省设置为截断获得有效行长度所需的字符数。如果使用 –b 时不带 n,则使用缺省值。此选项可用于从 COBOL 程序中删除序列号,如下所示:

newform  –l1  –b7  filename

–en

–bn 相同,但从行末开始截断字符。

–pn

在行长度小于有效行长度时,在行开头加上 n 个字符(请参见 –cchar)。缺省设置为在前面附加获得有效的行长度所需的字符数。

–an

–pn 相同,但将字符附加到行末。

–f

在输出其他任何行之前,在标准输出中写入制表符规范格式行。输出的制表符规范格式行将对应于在 last –o 选项中所指定的格式。如果未指定 –o 选项,则输出的行将包含缺省规范 −8

–cchar

将前缀/附加字符更改为 charchar 的缺省字符为空格。

–ln

将有效行长度设置为 n 个字符。如果未输入 n–l 缺省使用 72。如果没有 –l 选项,缺省行长度为 80 个字符。注意:制表符和退格被视为一个字符(使用 –i 可将制表符扩展为空格)。

必须使用 −l1 来设置短于文件中任何现有行的有效行长度,才能激活 –b 选项。

操作数

支持下列操作数:

filename

输入文件

退出状态

将返回以下退出值:

0

操作成功。

1

操作失败。

属性

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

属性类型
属性值
可用性
system/core-os

另请参见

csplit(1)tabs(1)fspec(4)attributes(5)

诊断

所有诊断消息都是致命的。

usage:  . . .

调用 newform 时使用了错误的选项。

"not –s format"

某个行中没有制表符。

"can't open file"

不需要加以说明。

"internal line too long"

在内部工作缓冲区中展开后,某个行的长度超过了 512 个字符。

"tabspec in error"

某个制表符规范的格式设置不正确,或者指定的制表停止位置不是升序的。

"tabspec indirection illegal"

从文件(或标准输入)读取的 tabspec 可能未包括引用其他文件(或标准输入)的 tabspec

附注

正常情况下,newform 仅记录实有字符;但是,对于 –i–o 选项,newform 将记录退格以便在相应的逻辑列中排列制表符。

newform 不会提示用户是否要从标准输入读取 tabspec(通过使用 –i– o)。

如果使用了 –f 选项,并且指定的最后一个 –o 选项是 –o,并且前面有 –o–i,则制表符规范格式行将不正确。