'\" te .\" Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" Copyright 1989 AT&T .\" Portions Copyright (c) 1995, 2011, Oracle and/or its affiliates.All rights reserved. .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation.Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/. .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation.In the following statement, the phrase "this text" refers to portions of the system documentation.Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group.In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document.The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.This notice shall appear on any product containing this material. .TH pr 1 "2011 年 8 月 17 日" "SunOS 5.11" "用户命令" .SH 名称 pr \- 输出文件 .SH 用法概要 .LP .nf \fB/usr/bin/pr\fR [+ \fIpage\fR] [\fB-column\fR] [\fB-adFmrt\fR] [\fB-e\fR [\fIchar\fR] [\fIgap\fR]] [\fB-h\fR \fIheader\fR] [\fB-i\fR [\fIchar\fR] [\fIgap\fR]] [\fB-l\fR \fIlines\fR] [\fB-n\fR [\fIchar\fR] [\fIwidth\fR]] [\fB-o\fR \fIoffset\fR] [\fB-s\fR [\fIchar\fR]] [\fB-w\fR \fIwidth\fR] [\fB-fp\fR] [\fIfile\fR]... .fi .LP .nf \fB/usr/xpg4/bin/pr\fR [+ \fIpage\fR] [\fB-column\fR | \fB-c\fR \fIcolumn\fR] [\fB-adFmrt\fR] [\fB-e\fR [\fIchar\fR] [\fIgap\fR]] [\fB-h\fR \fIheader\fR] [\fB-i\fR [\fIchar\fR] [\fIgap\fR]] [\fB-l\fR \fIlines\fR] [\fB-n\fR [\fIchar\fR] [\fIwidth\fR]] [\fB-o\fR \fIoffset\fR] [\fB-s\fR [\fIchar\fR]] [\fB-w\fR \fIwidth\fR] [\fB-fp\fR] [\fIfile\fR]... .fi .SH 描述 .sp .LP \fBpr\fR 实用程序是一个输出和分页过滤器。如果指定多个输入文件,则读取每个文件、设置其格式并将其写入标准输出。缺省情况下,输入分隔为若干 66 行页面,每页均有: .RS +4 .TP .ie t \(bu .el o 一个 5 行页首,包括页号、日期、时间和文件的路径名 .RE .RS +4 .TP .ie t \(bu .el o 一个 5 行页尾,由空行组成 .RE .sp .LP 如果标准输出与终端关联,则诊断消息将延迟至 \fBpr\fR 实用程序完成处理之后发出。 .sp .LP 指定了用于指定多列输出的选项时,输出文本列将具有相同的宽度;不适合文本列的输入行将被截断。缺省情况下,文本列使用至少 1 个空格字符分隔。 .SH 选项 .sp .LP 支持以下选项。在以下选项说明中,\fIcolumn\fR、\fIlines\fR、\fIoffset\fR、\fIpage\fR 和 \fIwidth\fR 为正十进制整数;\fIgap\fR 为非负十进制整数。有些选项参数是可选的,而有些选项参数不能与前面的选项字母隔开,作为单独的参数进行指定。具体而言,\fB-s\fR 选项不允许选项字母与其参数隔开,选项 \fB-e\fR、\fB-i\fR 和 \fB-n\fR 要求两个参数(如果指定)都不得与选项字母隔开。 .sp .LP \fB/usr/bin/pr\fR 和 \fB/usr/xpg4/bin/pr\fR 支持以下选项: .sp .ne 2 .mk .na \fB\fB+\fR\fIpage\fR\fR .ad .RS 24n .rt 从格式化输入的第 \fIpage\fR 页开始输出。 .RE .sp .ne 2 .mk .na \fB\fB-\fR\fIcolumn\fR\fR .ad .RS 24n .rt 生成按 \fIcolumn\fR 个列(缺省值为 \fB1\fR)排列的多列输出,并且按照从输入文件接收文本的顺序记录每一列。此选项不应与 \fB-m\fR 同时使用。假定为多列输出指定了 \fB-e\fR 和 \fB-i\fR 选项。未指定是否生成有相同垂直长度的文本列,但文本列从不超过页面长度(请参见 \fB-l\fR 选项)。当与 \fB-t\fR 一起使用时,使用最少行数写入输出。 .RE .sp .ne 2 .mk .na \fB\fB-a\fR\fR .ad .RS 24n .rt 修改 \fB-\fR\fIcolumn\fR 选项的作用,以便循环填充页面中的列(例如,当 \fIcolumn\fR 为 2 时,第一个输入行填入列 1,第二个输入行填入列 2,第三个输入行填入列 1,依此类推)。 .RE .sp .ne 2 .mk .na \fB\fB-d\fR\fR .ad .RS 24n .rt 生成双空格输出;在输入中的每个\fB换行\fR符后附加一个额外的\fB换行\fR符。 .RE .sp .ne 2 .mk .na \fB\fB\fR\fB-e\fR\fB [ \fR\fIchar\fR\fB ][ \fR\fIgap\fR\fB ]\fR\fR .ad .RS 24n .rt 将每个输入 \fBTAB\fR 字符扩展到下一个更大的列位置,而此位置由公式 \fIn\fR \fI*gap+1\fR 指定,其中 \fIn\fR 为整数 \fB>0\fR。如果 \fIgap\fR 为 \fB 0\fR 或者被忽略,其缺省值为 \fB8\fR。输入中的所有 \fBTAB\fR 字符将被扩展成适当数量的 \fBSPACE\fR 字符。如果指定任何非数字字符 \fIchar\fR,它将用作输入制表符。 .RE .sp .ne 2 .mk .na \fB\fB-f\fR\fR .ad .RS 24n .rt 将\fB换页\fR符用于新页面,而不是使用\fB换行\fR符序列的缺省行为。如果标准输出与终端关联,则在开始第一页之前暂停。 .RE .sp .ne 2 .mk .na \fB\fB-h\fR \fIheader\fR\fR .ad .RS 24n .rt 使用字符串 \fIheader\fR 替换页首中 \fIfile\fR 操作数的内容。 .RE .sp .ne 2 .mk .na \fB\fB-l\fR \fIlines\fR\fR .ad .RS 24n .rt 覆盖 66 行缺省值,将页面长度重置为 \fIlines\fR。如果 \fIlines\fR 不大于页首和页尾深度之和(行数),\fBpr\fR 会隐藏页首和页尾,如同 \fB-t\fR 选项发挥作用一般。 .RE .sp .ne 2 .mk .na \fB\fB-m\fR\fR .ad .RS 24n .rt 合并文件。设置标准输出的格式,使 \fBpr\fR 根据列位置的数量,将来自 \fIfile\fR 指定的每个文件的一行,并排写入至宽度固定且相等的文本列。实现支持合并至少 9 个 \fIfile\fR。 .RE .sp .ne 2 .mk .na \fB\fB-n [ \fR\fIchar\fR\fB ][ \fR\fIwidth\fR\fB ]\fR\fR .ad .RS 24n .rt 提供 \fIwidth\fR 位行号(\fIwidth\fR 的缺省值为 \fB5\fR)。行号将占用缺省输出的每个文本列或 \fB-m\fR 输出的每行的第一个 \fIwidth\fR 列位置。如果给定 \fIchar\fR(任何非数字字符),则会将它附加到行号,使其与后面的内容隔开(\fIchar\fR 的缺省设置为 \fBTAB\fR 字符)。 .RE .sp .ne 2 .mk .na \fB\fB-o\fR \fIoffset\fR\fR .ad .RS 24n .rt 输出的每一行前面均带有偏移 s。如果未指定 \fB-o\fR 选项,缺省偏移为 \fB0\fR。占用的空格将增加输出行宽度(请参见下面的 \fB-w\fR 选项)。 .RE .sp .ne 2 .mk .na \fB\fB-p\fR\fR .ad .RS 24n .rt 如果标准输出定向到终端,则在开始每个页面之前暂停(\fBpr\fR 将 \fBALERT\fR 字符写入标准错误,并等待在 \fB/dev/tty\fR 上读取回车字符)。 .RE .sp .ne 2 .mk .na \fB\fB-r\fR\fR .ad .RS 24n .rt 失败时不向打开文件写入诊断报告。 .RE .sp .ne 2 .mk .na \fB\fB-s\fR \fB[\fR\fIchar\fR\fB]\fR\fR .ad .RS 24n .rt 使用单一字符 \fIchar\fR 而非适当数量的 \fBSPACE\fR 字符分隔文本列(\fIchar\fR 的缺省设置为 \fBTAB\fR 字符)。 .RE .sp .ne 2 .mk .na \fB\fB-t\fR\fR .ad .RS 24n .rt 不写入通常为每个页面提供的 5 行标识页首和 5 行页尾。写入完每个文件的最后一行后退出,并且不为页面结尾设置间距。 .RE .sp .ne 2 .mk .na \fB\fB-w\fR \fIwidth\fR\fR .ad .RS 24n .rt 仅将多文本列输出的行宽设置为 \fIwidth\fR 列位置。如果未指定 \fB-w\fR 选项并且未指定 \fB-s\fR 选项,则缺省宽度为 \fB72\fR。如果未指定 \fB-w\fR 选项但指定了 \fB-s\fR 选项,则缺省宽度为 \fB512\fR。 .sp 对于单列输出,不截断输入行。 .RE .SS "/usr/bin/pr" .sp .LP \fB/usr/bin/pr\fR 仅支持以下选项: .sp .ne 2 .mk .na \fB\fB-F\fR\fR .ad .RS 22n .rt 对输入文件进行折行。在多列模式下使用时(指定了 \fB-a\fR 或 \fB-m\fR 选项时),折行以适应当前列宽。否则,折行以适应当前行宽(80 列)。 .RE .sp .ne 2 .mk .na \fB\fB\fR\fB-i\fR\fB [ \fR\fIchar\fR\fB ][ \fR\fIgap\fR\fB ]\fR\fR .ad .RS 22n .rt 在输出中,在一个或多个相邻的 \fBSPACE\fR 字符到达列位置 \fIgap+1\fR、\fI2*gap+1\fR、\fI3*gap+1\fR 等处时,将 \fBSPACE\fR 字符替换为 \fBTAB\fR 字符。如果 \fIgap\fR 为 \fB0\fR 或被忽略,则采用缺省的 \fBTAB\fR 设置(每八个列位置)。如果指定任何非数字字符 \fIchar\fR,它将用作输出 \fBTAB\fR 字符。 .RE .SS "/usr/xpg4/bin/pr" .sp .LP \fB/usr/xpg4/bin/pr\fR 仅支持以下选项: .sp .ne 2 .mk .na \fB\fB-F\fR\fR .ad .RS 22n .rt 将\fB换页\fR符用于新页面,而不是使用\fB换行\fR符序列的缺省行为。 .RE .sp .ne 2 .mk .na \fB\fB\fR\fB-i\fR\fB [ \fR\fIchar\fR\fB ][ \fR\fIgap\fR\fB ]\fR\fR .ad .RS 22n .rt 在输出中,在两个或更多相邻的 \fBSPACE\fR 字符到达列位置 \fIgap+1\fR、\fI2*gap+1\fR、\fI3*gap+1\fR 等处时,将 \fBSPACE\fR 字符替换为 \fBTAB\fR 字符。如果 \fIgap\fR 为 \fB0\fR 或被忽略,则采用缺省的 \fBTAB\fR 设置(每八个列位置)。如果指定任何非数字字符 \fIchar\fR,它将用作输出 \fBTAB\fR 字符。 .RE .SH 操作数 .sp .LP 支持下列操作数: .sp .ne 2 .mk .na \fB\fIfile\fR\fR .ad .RS 8n .rt 要写入的文件的路径名。如果未指定 \fIfile\fR 操作数,或者如果 \fIfile\fR 操作数为 \fB-\fR,则将使用标准输入。 .RE .SH 示例 .LP \fB示例 1 \fR列显当前目录中所有文件的编号列表 .sp .in +2 .nf example% \fBls -a | pr -n -h "Files in $(pwd)."\fR .fi .in -2 .sp .LP \fB示例 2 \fR按列列显文件 .sp .LP 本示例将 \fBfile1\fR 和 \fBfile2\fR 输出为以 \fBfile list\fR 开头的双空格、三列列表: .sp .in +2 .nf example% \fBpr -3d -h "file list" file1 file2\fR .fi .in -2 .sp .LP \fB示例 3 \fR写入文件,同时扩展列制表符 .sp .LP 以下示例将 \fBfile1\fR 写入至 \fBfile2\fR,同时将制表符扩展至列 \fB10\fR、\fB19\fR、\fB28\fR,依此类推。 .sp .in +2 .nf example% \fBpr -e9 -t file2\fR .fi .in -2 .sp .SH 环境变量 .sp .LP 有关影响 \fBpr\fR 执行的以下环境变量的说明,请参见 \fBenviron\fR(5):\fBLANG\fR、\fBLC_ALL\fR、\fB LC_CTYPE\fR、\fBLC_MESSAGES\fR、\fBLC_TIME\fR、\fBTZ\fR 和 \fBNLSPATH\fR。 .SH 退出状态 .sp .LP 将返回以下退出值: .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 6n .rt 成功完成。 .RE .sp .ne 2 .mk .na \fB\fB>0\fR\fR .ad .RS 6n .rt 出现错误。 .RE .SH 属性 .sp .LP 有关下列属性的说明,请参见 \fBattributes\fR(5): .SS "/usr/bin/pr" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/core-os _ CSIEnabled(已启用) .TE .SS "/usr/xpg4/bin/pr" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/xopen/xcu4 _ CSIEnabled(已启用) _ 接口稳定性Committed(已确定) _ 标准请参见 \fBstandards\fR(5)。 .TE .SH 另请参见 .sp .LP \fBexpand\fR(1)、\fBattributes\fR(5)、\fBenviron\fR(5)、\fBstandards\fR(5)