pg 命令
用途
将文件格式化供显示
语法
页码 [ - 数量 ] [ -c ] [ -e ] [ -f ] [ -n ] [ -p 字符串 ] [ -r ] [ -s ] [ +线路编号 ] [ +/图案/ ] [ 文件 ... ]
描述
pg 命令从 File 参数读取文件名,并一次一屏幕地将文件写到标准输出。 如果指定 -(短划线)为 File 参数值,或不带选项运行 pg 命令,pg 命令会读取标准输入。 每屏后跟一个提示符。 如果按下 Enter 键,会显示另一页。 与 pg 命令一起使用的子命令可以让您在文件中复查或搜索。
要确定工作站属性,pg 命令扫描 TERM 环境变量指定的工作站类型的文件。 缺省类型是 dumb。
当 pg 命令暂停并发出提示符时,就可以发出一个子命令。 这些子命令中的一些将显示更改到文件的特定位置、一些在文本中搜索特定模式而另一些更改 pg 命令运行的环境。
更改文件中的位置
下列子命令显示文件中选定的位置:
| 项 | 描述 |
|---|---|
| 页面 | 显示 Page 参数指定的页。 |
| +数字 | 显示将 Number 值加到当前页所得的页面。 |
| -数字 | 显示 Number 值指定的在当前页前几页的页面。 |
| L | (小写 L)将显示向前滚动一行。 |
| 数字我 | 在屏幕上方显示 Number 参数指定的行。 |
| +数字我 | 将屏幕向前滚动指定的行数。 |
| -数字我 | 将屏幕向后滚动指定的行数。 |
| 天 | 向前滚动半个屏幕。 按下 Ctrl-D 键序列和 d 子命令功能相同。 |
| -d | 向后滚动半个屏幕。 按下 -Ctrl-D 键序列和 -d 子命令功能相同。 |
| Ctrl-L | 再次显示当前页。 单独的 . (点)和 Ctrl-L 键序列子命令功能相同。 |
| $ | 显示文件的最末页。 当输入来自管道时不要使用。 |
搜索文本模式
下列子命令搜索文本中的文本模式。 (也可使用 ed 命令中描述的模式。) 它们必须始终以换行字符结尾,即使使用了 -n 标志也是如此。
在表达式中,例如[k.a-z]k.,根据当前整理顺序,减号表示范围,如在 a 到 z 中一样。 整理序列定义了字符范围中使用的等价类。
| 项 | 描述 |
|---|---|
| [数字]/模式/ | 搜索 Pattern 值出现的次数,该值由 Number 变量指定 。 搜索从紧随当前页之后的页开始,继续到当前文件的末尾,而不回绕搜索。 Number 变量的缺省值为 1。 |
| 数字?模式? |
| 项 | 描述 |
|---|---|
| 数字^模式^ | 向后搜索 Pattern 值出现的次数,该值由 Number 变量指定。 搜索就在当前页之前一页开始,继续到当前文件的开头,而不回绕搜索。 Number 变量的缺省值为 1。 ^ 表示法对于将无法正确处理 ? 表示法的 "添加 100 个终端" 很有用。 |
搜索之后,pg 命令在屏幕顶端显示有匹配模式的行。 可以通过对搜索命令添加 m 或 b 后缀来更改显示位置。 m 后缀在屏幕中间显示所有后继子命令产生的有匹配模式的行。 b 后缀在屏幕底部显示所有后继子命令产生的有匹配模式的行。 t 后缀再次在屏幕顶端显示有匹配模式的行。
更改 pg 环境
可以用下列子命令更改 pg 命令环境:
| 项 | 描述 |
|---|---|
| [数字] n | 开始检查 Number 变量指定的命令行中的下一个文件。 Number 变量的缺省值为第一个。 |
| [数字] P | 开始检查 Number 变量指定的命令行中的前一个文件。 Number 变量的缺省值为第一个。 |
| [数字] W | 显示另一个文本窗口。 如果指定了 Number 参数,将窗口大小设置为其指定的行数。 该子命令与 [Number]z 子命令相同。 |
| [Number] z | 显示另一个文本窗口。 如果指定了 Number 参数,将窗口大小设置为其指定的行数。 该子命令与 [Number]w 子命令相同。 |
| S 文件 | 保存指定文件中的输入。 只保存当前被检查的文件。 即使指定了 -n 标志该命令也必须以一个换行字符结束。 |
| h | 显示可用子命令简要的总结。 |
| q 或 Q | 退出 pg 命令。 |
| !命令 | 发送指定命令到 SHELL 环境变量中指定的 shell。 如果该 shell 不可用,使用缺省的 shell。 此命令必须始终以换行字符结尾,即使使用了 -n 标志也是如此。 |
注意:
- 当您按 QUIT WITH DUMP (Ctrl-\) 或 INTERRUPT (Ctrl-C) 键序列时,某些输出会丢失,因为当接收到 QUIT 信号时,将清除输出队列中等待的任何字符。
- 如果不是每 8 个位置设置工作站选项卡,那么可能会发生不可预测的结果。
在输出正发往工作站的任何时候,都可以按下“QUIT WITH DUMP”或“INTERRUPT”键序列。 它使得 pg 命令停止发送输出并显示提示符。 然后可以在命令提示符下输入一个前面的子命令。
如果标准输出不是工作站,除了在每个文件之前显示头之外,pg 命令就象 cat 命令一样执行。
等待工作站输入期间,当按下“INTERRUPT”键序列的时候 pg 命令停止运行。 在提示符之间,这些信号中断当前的任务并使您处于提示模式。
标志
| 项 | 描述 |
|---|---|
| -c | 在每页之前移动光标到起始位置并清除屏幕。 此标志在以下情况下被忽略:clear_screen未在 特温福 文件中为您的工作站类型定义字段。 |
| -e | 在每个文件的结束不暂停。 |
| -f | 不分行。 通常,pg 命令分割长于屏幕宽度的行。 |
| -n | 当输入某个 pg 命令字母的时候停止处理。 通常,命令必须以换行字符结束。 |
| -p 字符串 | 用指定的字符串作为提示符。 如果 String 包含 一个 %d 值,那么提示中该值替换为当前页编号。 缺省提示为 : (冒号)。 如果指定的字符串包含空格,必须将字符串放在引号内。 |
| -r | 在 "!" 时阻止 shell 转义 子命令。 |
| -s | 突出显示所有的消息和提示。 |
| +线路编号 | 从指定行号处开始。 |
| -数字 | 指定窗口中行的数目。 工作站上包含 24 行,缺省是 23。 |
| +/模式/ | 从包含指定模式的第一行开始。 |
退出状态
本命令返回以下退出值:
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 成功完成。 |
| >0 | 发生错误。 |
示例
要一次一页地查看某文件的内容,请输入:
pg filename文件
| 项 | 描述 |
|---|---|
| /usr/bin/pg | 包含 pg 命令。 |
| /usr/share/lib/terminfo/* | 包含定义终端类型的 terminfo 文件。 |
| /tmp/pg* | 包含使用 pg 命令时创建的临时文件。 |