/usr/bin/pr [+ page] [-column] [-adFmrt] [-e [char] [gap]] [-h header] [-i [char] [gap]] [-l lines] [-n [char] [width]] [-o offset] [-s [char]] [-w width] [-fp] [file]...
/usr/xpg4/bin/pr [+ page] [-column | -c column] [-adFmrt] [-e [char] [gap]] [-h header] [-i [char] [gap]] [-l lines] [-n [char] [width]] [-o offset] [-s [char]] [-w width] [-fp] [file]...
pr 实用程序是一个输出和分页过滤器。如果指定多个输入文件,则读取每个文件、设置其格式并将其写入标准输出。缺省情况下,输入分隔为若干 66 行页面,每页均有:
一个 5 行页首,包括页号、日期、时间和文件的路径名
一个 5 行页尾,由空行组成
如果标准输出与终端关联,则诊断消息将延迟至 pr 实用程序完成处理之后发出。
指定了用于指定多列输出的选项时,输出文本列将具有相同的宽度;不适合文本列的输入行将被截断。缺省情况下,文本列使用至少 1 个空格字符分隔。
支持以下选项。在以下选项描述中,column、lines、offset、page 和 width 为正十进制整数;gap 为非负十进制整数。有些选项参数是可选的,而有些选项参数不能与前面的选项字母隔开,作为单独的参数进行指定。具体而言,–s 选项不允许选项字母与其参数隔开,选项 –e、–i 和 –n 要求两个参数(如果指定)都不得与选项字母隔开。
/usr/bin/pr 和 /usr/xpg4/bin/pr 支持以下选项:
从格式化输入的第 page 页开始输出。
生成按 column 个列(缺省值为 1)排列的多列输出,并且按照从输入文件接收文本的顺序记录每一列。此选项不应与 –m 同时使用。假定为多列输出指定了 –e 和 –i 选项。未指定是否生成有相同垂直长度的文本列,但文本列从不超过页面长度(请参见 –l 选项)。当与 –t 一起使用时,使用最少行数写入输出。
修改 –column 选项的作用,以便循环填充页面中的列(例如,当 column 为 2 时,第一个输入行填入列 1,第二个输入行填入列 2,第三个输入行填入列 1,依此类推)。
生成双空格输出;在输入中的每个 NEWLINE 字符后附加一个额外的 NEWLINE 字符。
将每个输入 TAB 字符扩展到下一个更大的列位置,而此位置由公式 n *gap+1 指定,其中 n 为整数 >0。如果 gap 为 0 或者被忽略,其缺省值为 8。输入中的所有 TAB 字符将被扩展成适当数量的 SPACE 字符。如果指定任何非数字字符 char,它将用作输入制表符。
将 FORMFEED 字符用于新页面,而不是使用 NEWLINE 字符序列的缺省行为。如果标准输出与终端关联,则在开始第一页之前暂停。
使用字符串 header 替换页首中 file 操作数的内容。
覆盖 66 行缺省值,将页面长度重置为 lines。如果 lines 不大于页首和页尾深度之和(行数),pr 会隐藏页首和页尾,如同 –t 选项发挥作用一般。
合并文件。设置标准输出的格式,使 pr 根据列位置的数量,将来自 file 指定的每个文件的一行,并排写入至宽度固定且相等的文本列。实现支持合并至少 9 个 file。
提供 width 位行号(width 的缺省值为 5)。行号将占用缺省输出的每个文本列或 –m 输出的每行的第一个 width 列位置。如果给定 char(任何非数字字符),则会将它附加到行号,使其与后面的内容隔开(char 的缺省设置为 TAB 字符)。
输出的每一行前面均带有偏移 <space>s。如果未指定 –o 选项,缺省偏移为 0。占用的空格将增加输出行宽度(请参见下面的 –w 选项)。
如果标准输出定向到终端,则在开始每个页面之前暂停(pr 将 ALERT 字符写入标准错误,并等待在 /dev/tty 上读取回车字符)。
失败时不向打开文件写入诊断报告。
使用单一字符 char 而非适当数量的 SPACE 字符分隔文本列(char 的缺省设置为 TAB 字符)。
不写入通常为每个页面提供的 5 行标识页首和 5 行页尾。写入完每个文件的最后一行后退出,并且不为页面结尾设置间距。
仅将多文本列输出的行宽设置为 width 列位置。如果未指定 –w 选项并且未指定 –s 选项,则缺省宽度为 72。如果未指定 –w 选项但指定了 –s 选项,则缺省宽度为 512。
对于单列输出,不截断输入行。
/usr/bin/pr 仅支持以下选项:
对输入文件进行折行。在多列模式下使用时(指定了 –a 或 –m 选项时),折行以适应当前列宽。否则,折行以适应当前行宽(80 列)。
在输出中,在一个或多个相邻的 SPACE 字符到达列位置 gap+1、2*gap+1、3*gap+1 等处时,将 SPACE 字符替换为 TAB 字符。如果 gap 为 0 或被忽略,则采用缺省的 TAB 设置(每八个列位置)。如果指定任何非数字字符 char,它将用作输出 TAB 字符。
/usr/xpg4/bin/pr 仅支持以下选项:
将 FORMFEED 字符用于新页面,而不是使用 NEWLINE 字符序列的缺省行为。
在输出中,在两个或更多相邻的 SPACE 字符到达列位置 gap+1、2*gap+1、3*gap+1 等处时,将 SPACE 字符替换为 TAB 字符。如果 gap 为 0 或被忽略,则采用缺省的 TAB 设置(每八个列位置)。如果指定任何非数字字符 char,它将用作输出 TAB 字符。
支持下列操作数:
要写入的文件的路径名。如果未指定 file 操作数,或者如果 file 操作数为 −,则将使用标准输入。
example% ls -a | pr -n -h "Files in $(pwd)."示例 2 按列输出文件
本示例将 file1 和 file2 输出为以 file list 开头的双空格、三列列表:
example% pr -3d -h "file list" file1 file2示例 3 写入文件,同时扩展列制表符
以下示例将 file1 写入至 file2,同时将制表符扩展至列 10、19、28,依此类推。
example% pr -e9 -t <file1 >file2
有关影响 pr 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、 LC_CTYPE、LC_MESSAGES、LC_TIME、TZ 和 NLSPATH。
将返回以下退出值:
成功完成。
出现错误。
有关下列属性的说明,请参见 attributes(5):
|
|