当前位置: 首页 > news >正文

Linux 命令:pr

概述

Linux 中的pr命令是专业的文本格式化打印工具,核心作用是对文本文件进行分页、加页眉、分栏、编行号等排版处理,模拟打印机的输出格式,适合将纯文本整理为规范的打印稿/文档,比nl/fold功能更全面,是批量格式化文本的实用命令。

资料合集:https://pan.quark.cn/s/6fe3007c3e95https://pan.quark.cn/s/561de99256a5https://pan.quark.cn/s/985f55b13d94https://pan.quark.cn/s/d0fb20abd19a

一、基本语法

pr[选项][文件1][文件2]...

无文件参数时读取标准输入(可配合管道处理其他命令输出);默认行为:分页(每页66行)、加页眉(含文件名、日期、页码)、正文行号可选,输出适配传统打印纸格式。

二、核心默认输出格式

执行最简命令pr test.txt,输出会包含3部分,排版规范:

  1. 页眉(占5行):左→文件名、中→系统时间、右→页码Page 1
  2. 正文:原文本内容,默认无行号,顶格显示
  3. 页脚:空行填充,保证每页固定66行(不足则补空)

三、高频实用选项(按功能分类)

pr选项丰富,按分页、页眉、行号、分栏、宽度五大核心场景分类,易记易用,可自由组合:

🔹 分页控制(核心)
选项作用示例
-l N指定每页行数(默认66),含页眉/页脚pr -l 30 test.txt(每页30行)
-h "标题"自定义页眉标题,替代默认的文件名pr -h "用户配置文件" test.txt
-t取消页眉和页脚,仅输出格式化后的正文pr -t test.txt(无页眉页脚,紧凑输出)
-N指定页码起始值(默认从1开始)pr -N 5 test.txt(页码从5开始)
🔹 行号与内容格式化
选项作用示例
-n为正文添加行号,默认宽度5位、右对齐pr -n test.txt
-n N指定行号宽度为N位pr -n 3 test.txt(行号占3位,如001
-s "符号"指定列分隔符(默认制表符\t),分栏时生效`pr -2 -s "
-w N指定总输出宽度(默认72字符),分栏时均分宽度pr -2 -w 60 test.txt(两栏,总宽60,每栏30)
🔹 分栏打印(特色功能)

将文本按多列横向排列,适合短行文本(如清单、目录),节省打印空间:

选项作用示例
-COLCOL为数字,指定分栏数(如-2=两栏、-3=三栏)pr -3 test.txt(三栏横向排列)
-a分栏时按行横向填充(默认按列纵向填充)pr -2 -a test.txt(两栏,先填第一行两列,再填第二行)

四、经典实操示例(覆盖90%使用场景)

file.txt(含简单文本清单)为例,演示核心组合用法,直接复用:

# file.txt 内容 Java 基础 MySQL 优化 Linux 命令 Python 爬虫 Git 操作 Docker 部署 K8s 入门 Redis 缓存
场景1:基础格式化(加自定义页眉+行号)

为文本加行号,页眉自定义为"后端学习清单",取消多余空行:

pr-h"后端学习清单"-n2-t file.txt

输出效果

1 Java 基础 2 MySQL 优化 3 Linux 命令 4 Python 爬虫 5 Git 操作 6 Docker 部署 7 K8s 入门 8 Redis 缓存
场景2:分栏打印(两栏+横向填充+自定义分隔符)

最实用的短文本清单排版,两栏横向排列,用|分隔,紧凑无页眉:

pr-2 -a -s" | "-t file.txt

输出效果

Java 基础 | MySQL 优化 Linux 命令 | Python 爬虫 Git 操作 | Docker 部署 K8s 入门 | Redis 缓存
场景3:多栏+指定总宽度(三栏+行号+总宽80)

三栏排列,加3位行号,总输出宽度80,适配窄终端:

pr-3 -n3-w80-t file.txt

输出效果

001 Java 基础 002 MySQL 优化 003 Linux 命令 004 Python 爬虫 005 Git 操作 006 Docker 部署 007 K8s 入门 008 Redis 缓存
场景4:配合管道处理命令输出(ls目录分栏)

将当前目录下的文件列表按两栏格式化,无页眉,适配打印:

ls-l|pr-2 -t -s" "
场景5:分页+指定每页行数(每页4行+自定义页眉+页码)

适合长文本分页打印,每页4行,页眉为"每日任务",页码从1开始:

pr-l4-h"每日任务"file.txt

五、与同类命令的核心区别

pr整合了nl(行号)、fold(宽度)、column(分栏)的功能,且支持分页/页眉,与常用文本工具的差异清晰,按需选择:

命令核心优势短板适用场景
pr分页、页眉、分栏、行号一体化,适配打印配置稍复杂,无智能排版文本打印稿、清单格式化、批量文档排版
nl轻量,精细化行号定制无分页/分栏/页眉仅需加行号的简单场景
fold快速按宽度折行,适配管道无行号/分栏/分页超长行临时折行
column按列对齐,适合表格型文本无分页/页眉/行号CSV/空格分隔的表格文本排版

六、关键注意事项

  1. 不修改原文件pr仅格式化标准输出,需通过重定向>/>>写入新文件才会保存结果,例:pr -2 -t file.txt > formatted_file.txt
  2. 分栏填充规则:默认按列纵向填充(先填第一列所有行,再填第二列),加-a按行横向填充(推荐短文本使用);
  3. 宽度适配:分栏时若指定-w N,总宽度会均分给各列,若单行列内容过长,会自动折行,可配合fold -w先预处理超长行;
  4. 空行处理:默认保留原文件空行,若需去除,可先通过grep -v "^$"过滤空行,再管道给pr,例:grep -v "^$" file.txt | pr -2 -t

总结

pr一站式文本打印格式化工具,核心价值是分页+页眉+分栏的一体化排版,日常高频组合:

  1. 短清单分栏:pr -COL -a -s "分隔符" -t 文件名(COL为分栏数)
  2. 加行号+自定义页眉:pr -h "标题" -n N -t 文件名(N为行号宽度)
  3. 命令输出格式化:命令 | pr -COL -t -w 宽度
  4. 长文本分页打印:pr -l 每页行数 -h "标题" 文件名
http://www.jsqmd.com/news/307474/

相关文章:

  • HGWatcher使用说明
  • 2026Q1成都财税公司推荐 公司注册工商变更哪家好 一站式财税服务商优选
  • 2026年海湾园公墓联系电话推荐:基于环境与人文场景评测,解决信息查询与沟通痛点
  • 羽动金城,焰燃热爱!2026 甘肃羽毛球培训首选赤焰体育
  • 攻防世界warmup
  • 告别期刊投稿“石沉大海”!虎贲等考AI重构论文创作逻辑,精准命中见刊标准
  • 告别 “文字墙” 与 “模板感”:虎贲等考 AI PPT 重构学术演示的叙事美学
  • 别让 AIGC 痕迹毁了论文!虎贲等考 AI 降重黑科技:合规改写,还保学术质感
  • Python异步编程基石:深入理解asyncio核心原理与实战
  • USB Type-C:定义与功能全解析终极指南
  • 苏州硕士留学中介top10盘点,录取案例多!选择技巧全解析
  • 天津研究生留学机构top10,稳定可靠!助你顺利留学
  • 香港研究生留学中介哪家强?口碑排名最新发布,学员满意度高
  • 想知道武汉研究生留学机构口碑排名?无隐形消费是关键
  • 新加坡研究生留学中介口碑排名发布,录取案例多,助你成功留学!
  • 重庆地区研究生留学机构top10排名,值得信赖的详细评测
  • 控制权限系列之(2)手把手教你使用基于角色的权限控制
  • 我猜,不止200万台。拓竹2025年到底卖了多少台3D打印机?
  • 【Django毕设源码分享】Django的基于web的共青团员信息管理系统的设计与实现的设计与实现(程序+文档+代码讲解+一条龙定制)
  • PHP日志格式 = json格式?
  • 新疆体育用品品牌企业怎么选,聚焦诚信品牌
  • 说说全国楼梯贴批量定制,江苏美达自粘材料靠谱吗
  • 您是否也遭遇产品防腐性价比低的困扰,2026年江苏水分活度仪推荐
  • 2026年高性价比UPS电源代理供应商排名,金盛通科技表现亮眼
  • PPR给水管节能型厂家都得利管业产品性价比高不高
  • 解读口碑好的玻璃温室制造商,冠丰温室费用贵吗?
  • 云服务器CVM 云主机 云计算服务器 弹性云服务器-腾讯云
  • 云服务器哪家好用又实惠?一文读懂四大实惠云服务商深度解析
  • 分享经济视角下社会化众包与众筹的创新路径——链动2+1模式AI智能名片小程序的融合应用
  • 【瑞芯微平台实时Linux方案系列】第二篇 - 瑞芯微芯片PREEMPT_RT补丁集成与内核移植