手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

pr(1)

名称

pr - 输出文件

用法概要

/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 个空格字符分隔。

选项

支持以下选项。在以下选项描述中,columnlinesoffsetpagewidth 为正十进制整数;gap 为非负十进制整数。有些选项参数是可选的,而有些选项参数不能与前面的选项字母隔开,作为单独的参数进行指定。具体而言,–s 选项不允许选项字母与其参数隔开,选项 –e–i–n 要求两个参数(如果指定)都不得与选项字母隔开。

/usr/bin/pr/usr/xpg4/bin/pr 支持以下选项:

+page

从格式化输入的第 page 页开始输出。

column

生成按 column 个列(缺省值为 1)排列的多列输出,并且按照从输入文件接收文本的顺序记录每一列。此选项不应与 –m 同时使用。假定为多列输出指定了 –e–i 选项。未指定是否生成有相同垂直长度的文本列,但文本列从不超过页面长度(请参见 –l 选项)。当与 –t 一起使用时,使用最少行数写入输出。

–a

修改 column 选项的作用,以便循环填充页面中的列(例如,当 column 为 2 时,第一个输入行填入列 1,第二个输入行填入列 2,第三个输入行填入列 1,依此类推)。

–d

生成双空格输出;在输入中的每个 NEWLINE 字符后附加一个额外的 NEWLINE 字符。

–e [ char ][ gap ]

将每个输入 TAB 字符扩展到下一个更大的列位置,而此位置由公式 n *gap+1 指定,其中 n 为整数 >0。如果 gap 0 或者被忽略,其缺省值为 8。输入中的所有 TAB 字符将被扩展成适当数量的 SPACE 字符。如果指定任何非数字字符 char,它将用作输入制表符。

–f

FORMFEED 字符用于新页面,而不是使用 NEWLINE 字符序列的缺省行为。如果标准输出与终端关联,则在开始第一页之前暂停。

–h header

使用字符串 header 替换页首中 file 操作数的内容。

–l lines

覆盖 66 行缺省值,将页面长度重置为 lines。如果 lines 不大于页首和页尾深度之和(行数),pr 会隐藏页首和页尾,如同 –t 选项发挥作用一般。

–m

合并文件。设置标准输出的格式,使 pr 根据列位置的数量,将来自 file 指定的每个文件的一行,并排写入至宽度固定且相等的文本列。实现支持合并至少 9 个 file

-n [ char ][ width ]

提供 width 位行号(width 的缺省值为 5)。行号将占用缺省输出的每个文本列或 –m 输出的每行的第一个 width 列位置。如果给定 char(任何非数字字符),则会将它附加到行号,使其与后面的内容隔开(char 的缺省设置为 TAB 字符)。

–o offset

输出的每一行前面均带有偏移 <space>s。如果未指定 –o 选项,缺省偏移为 0。占用的空格将增加输出行宽度(请参见下面的 –w 选项)。

–p

如果标准输出定向到终端,则在开始每个页面之前暂停(prALERT 字符写入标准错误,并等待在 /dev/tty 上读取回车字符)。

–r

失败时不向打开文件写入诊断报告。

–s [char]

使用单一字符 char 而非适当数量的 SPACE 字符分隔文本列(char 的缺省设置为 TAB 字符)。

–t

不写入通常为每个页面提供的 5 行标识页首和 5 行页尾。写入完每个文件的最后一行后退出,并且不为页面结尾设置间距。

–w width

仅将多文本列输出的行宽设置为 width 列位置。如果未指定 –w 选项并且未指定 –s 选项,则缺省宽度为 72。如果未指定 –w 选项但指定了 –s 选项,则缺省宽度为 512

对于单列输出,不截断输入行。

/usr/bin/pr

/usr/bin/pr 仅支持以下选项:

–F

对输入文件进行折行。在多列模式下使用时(指定了 –a–m 选项时),折行以适应当前列宽。否则,折行以适应当前行宽(80 列)。

–i [ char ][ gap ]

在输出中,在一个或多个相邻的 SPACE 字符到达列位置 gap+12*gap+13*gap+1 等处时,将 SPACE 字符替换为 TAB 字符。如果 gap0 或被忽略,则采用缺省的 TAB 设置(每八个列位置)。如果指定任何非数字字符 char,它将用作输出 TAB 字符。

/usr/xpg4/bin/pr

/usr/xpg4/bin/pr 仅支持以下选项:

–F

FORMFEED 字符用于新页面,而不是使用 NEWLINE 字符序列的缺省行为。

–i [ char ][ gap ]

在输出中,在两个或更多相邻的 SPACE 字符到达列位置 gap+12*gap+13*gap+1 等处时,将 SPACE 字符替换为 TAB 字符。如果 gap0 或被忽略,则采用缺省的 TAB 设置(每八个列位置)。如果指定任何非数字字符 char,它将用作输出 TAB 字符。

操作数

支持下列操作数:

file

要写入的文件的路径名。如果未指定 file 操作数,或者如果 file 操作数为 ,则将使用标准输入。

示例

示例 1 输出当前目录中所有文件的编号列表
example% ls -a | pr -n -h "Files in $(pwd)."
示例 2 按列输出文件

本示例将 file1file2 输出为以 file list 开头的双空格、三列列表:

example% pr -3d -h "file list" file1 file2
示例 3 写入文件,同时扩展列制表符

以下示例将 file1 写入至 file2,同时将制表符扩展至列 101928,依此类推。

example% pr -e9 -t <file1 >file2

环境变量

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

退出状态

将返回以下退出值:

0

成功完成。

>0

出现错误。

属性

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

/usr/bin/pr

属性类型
属性值
可用性
system/core-os
CSI
Enabled(已启用)

/usr/xpg4/bin/pr

属性类型
属性值
可用性
system/xopen/xcu4
CSI
Enabled(已启用)
接口稳定性
Committed(已确定)
标准
请参见 standards(5)

另请参见

expand(1)attributes(5)environ(5)standards(5)