linux系统可以用pr吗,linux – 关于pr命令的一些问题

有人可以回答下面的问题.

注意:(由于我无法将我的linux虚拟盒中的粘贴复制到Windows,我必须在某些地方使用屏幕截图,请原谅我)

从我的教科书中引用

$cat -n / etc / profile | pr -d | LPR

The result should be a printout that might be handy for taking notes

on the configuration file. One caveat, though: If the file contains

lines that approach or exceed 80 characters in length, the result can

be single lines that spill across two lines. The result will be disrupted page

boundaries. As a workaround, you can set a somewhat short page length

with -l and use -f to ensure that the printer receives form feeds

after each page:

$cat -n /etc/ profile | pr -dfl 50

那么上面的场景是否意味着单行超过80个字符?如果是,那么我已经尝试了一个场景;我有一个100字符的行,我无法注意到pr命令中是否有dfl参数的差异.以下是截图.

随着dfl

vJY07.jpg

没有dfl

PERcm.jpg

由于-d参数,两个命令之间的唯一区别是双倍空格.

我希望我在上面的问题中清楚.请希望有人解释教科书的引用,它提到了如何处理警告情节?

解决方法:

Unix早期的行式打印机(和一些打印终端)设计为每页打印66行,每行80行或132列,固定宽度字体,连续纸张形式. lpr没有格式化它的标准输入或文件参数;它取决于其他程序,如pr或nroff来进行格式化. (lpr还可以将troff的输出发送到照排机).

为了适应页面之间的折叠并提供大多数人喜欢的顶部和底部边距,在每56行输入pr之后将插入5个空白行作为底部边缘,4个空白行加上标题行作为顶部边距.如果给出-f选项,则在每个页面的底部,pr将输出换页而不是5个空行.打印机通常可以处理换页,机械跳转到下一页的顶部,比一系列空白行更快. [有一个程序,我忘记了它的名字,它格式化C源代码并在每个函数开始之前插入一个换页,这样当你打印出来时,每个函数都从一个新页面的顶部开始.]

Lineprinters通常不会包装比它们设计要处理的页面宽度更长的行.但是打印终端和显示终端(以及当今占主导地位的终端仿真器)可以包裹或不包裹长线,具体取决于配置. (更准确地说,您可以配置在最右侧列中打印字符时发生的情况:将光标/打印头保留在最后一列中,或将其移动到下一行的第一列).大多数人更喜欢包装,以免丢失信息.

pr最初并没有做长线的包装;一些较新的版本,或者您可以使用fmt程序作为过滤器.但是,pr支持可配置的页面长度(-l选项),因此如果您使用的是包装行的终端或打印机,您可以猜测较小的页面长度,这将导致每页56个或更少的实际行数输出并告诉pr使用它.

这就是你的榜样;它告诉pr假设一个页面是50行文本而不是56行.如果由于包装你最多或少于6行,你不希望pr插入它通常的5个空行,因为它会甩开以下页面的对齐方式;你希望它输出一个formfeed,这就是为什么他们在你的例子中添加-f选项.

标签:linux,shell,printing

来源: https://codeday.me/bug/20190814/1654599.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值