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
沒有dfl
由于-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
總結
以上是生活随笔為你收集整理的linux系统可以用pr吗,linux – 关于pr命令的一些问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux中怎么创建管道文件,linux
- 下一篇: PCB寄生参数和特征阻抗