pr 是 Linux/Unix 系统中一个非常实用的命令行工具,主要用于将文本文件转换为适合打印的格式。
它的核心功能包括:
- 添加页眉和页脚(如文件名、日期、时间、页码)。
- 将单列文本转换为多列布局(类似报纸排版)。
- 控制页边距、行号、分页符等。
📌 基本语法
pr [选项] [文件...]
如果不指定文件,pr 会从标准输入读取数据。
🔧 常用选项
| 选项 | 说明 |
|---|---|
-n |
在每行前添加行号(可指定宽度,如 -n5 表示5位数字) |
-h 标题 |
设置页眉标题(默认显示文件名) |
-t |
不输出页眉和页脚(仅输出正文内容) |
-w 宽度 |
设置页面宽度(默认72字符) |
-l 长度 |
设置每页行数(默认66行) |
-d |
双列输出(默认单列) |
-m |
合并多个文件,每列一个文件 |
-o 偏移 |
设置左页边距(默认5字符) |
-s 分隔符 |
指定列之间的分隔符(默认空格) |
-v |
显示版本号 |
-V |
显示版本信息 |
📚 实用示例
基本用法:查看文件并添加页眉页脚
pr /etc/passwd
输出会包含文件名、日期、时间和页码。
不显示页眉页脚
pr -t /etc/passwd
添加自定义页眉
pr -h "用户列表" /etc/passwd
添加行号
pr -n /etc/passwd
输出格式如:0000001 root:x:0:0:root:/root:/bin/bash
双列输出
pr -d /etc/passwd ```分成两列显示,适合节省纸张。 #### 6. 合并多个文件为多列 ```bash pr -m file1.txt file2.txt
将 file1.txt 和 file2.txt 并排显示为两列。
自定义页面宽度和边距
pr -w 132 -o 2 /etc/passwd
设置页面宽度为132字符,左页边距为2字符。
指定每页行数
pr -l 50 /etc/passwd
每页最多显示50行。
使用自定义分隔符
pr -s "|" -d /etc/passwd
用 作为列分隔符(配合 -d 双列使用)。
从管道输入
cat /etc/passwd | pr -h "当前用户" -n
💡 常见应用场景
- 打印前预览:在打印长文件前,用
pr格式化以便预览。 - 生成报表:将数据整理为多列格式,便于阅读或导出。
- 脚本中格式化输出:在 shell 脚本中,对
ls、ps等命令的输出进行格式化。
- 节省纸张:通过
-d双列或-w减小宽度,减少打印页数。
⚠️ 注意事项
pr默认使用空格作为列分隔符,如果数据中包含空格,建议使用-s指定其他分隔符。- 如果文件名包含特殊字符,建议使用引号包裹。
pr的输出是面向打印的,不适合直接用于程序解析(除非使用-t去除页眉页脚)。
🆚 与 column、fmt 的区别
| 工具 | 用途 |
|---|---|
pr | 面向打印的格式化,支持页眉页脚、多列、分页 |
column | 将文本转换为对齐的多列,适合终端显示 |
fmt | 简单的文本换行和格式化,不支持多列 |
如需更详细的帮助,可运行:
man pr
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/479616.html



