无法通过 man 命令打印手册页

无法通过 man 命令打印手册页

我想让 man 页面变得清晰。但是,我还没有找到办法。

关于我想要实现的目标的伪代码

man man | lpr

你怎么能打印手册,这样您首先就能看到要打印多少页?

答案1

man -Tps man | lpr

这告诉 man 将输出格式化为可直接通过管道发送到打印机的 postscript 文件。请参阅 man 页面以了解更多 -T (troff) 格式化选项。

要预览输出,请将其传输到文件并使用 gv 或 okular 查看。

man -Tps man > manual.ps
gv manual.ps

答案2

man ls | col -b | lpr -P my_printer

这将打印“ls”的手册页,使用“col”对其进行格式化,然后在名为“my_printer”的打印机上打印

格式化不是必需的,但可以删除特殊字符使其更易于阅读。

答案3

较新版本的 man(至少我的 openSuSE 11 上的版本是这样的 :) )会自动检测输出是终端还是管道。如果您希望将未格式化的手册页输出到标准输出,请尝试:

man man | cat

对于要打印的手册页,我喜欢:

man man | a2ps --stdin='man(1)'

答案4

回答上面页数问题(需要 50 个回复才能添加评论):

man ls | wc -l | awk '{ print $1/60 }'

每页的默认行数为 60,因此如果您不更改该值,则只需除以 60 并向上舍入即可。我忘记了如何让 awk 将 FP 视为 INT,以便它为您进行舍入。

相关内容