您的位置:首页 > 运维架构 > Linux

linux打印工具pr实例详解

2016-03-16 15:21 661 查看

打印工具

语法:pr [option] [file(s)]

 

用途:将文本文件编页,供打印用,只是过滤数据为打印做准备


主要选项:


-cn:产生n栏的输出
可缩写为-n


-f:在首页之后的每一页标题前前置一个ASCII分页字符标题

-h althdr:将页标题内的文件名称,改用字符串althdr取代

-ln:产生n行的页面

-on:输出位移n个空白

-t:不显示标题

-wn:每行至多n个字符

行为模式:会读取指定文件,如未指定,则读取标准输入


 

其中,比较常用的是:-l选项设置输出页面长度、-w设置页面宽度、-o设置文本位移

另外-f(有些系统为-F)也是必备的,一般用法如下:

pr -f -l60 -o10 -w65 file(s) | lp


 

实例1:将25个单词格式化为5栏的状态

[gz_fieldyang@ test ~]$ sed -n -e 199905,199929p /usr/share/dict/words|pr -c5

2016-03-15 11:52                                                 
Page 1

intracorporea intracosmical intractable  
intracutaneou intradepartme

intracorpuscu intracostal  
intractablene intracystic   intradermal

intracortical intracranial 
intractably   intrada       intradermally

intracosmic  
intracraniall intractile    intraday     
intradermic

intracosmical intractabilit intracutaneou intradepartme intradermical

 

实例2:将25个单词格式化为5栏的状态并用-t选项省略页标题

[gz_fieldyang@ test ~]$ sed -n -e 199905,199929p /usr/share/dict/words|pr -c5 -t 

intracorporea intracosmical intractable  
intracutaneou intradepartme

intracorpuscu intracostal  
intractablene intracystic   intradermal

intracortical intracranial 
intractably   intrada       intradermally

intracosmic  
intracraniall intractile    intraday     
intradermic

intracosmical intractabilit intracutaneou intradepartme intradermical

 

实例3:栏宽太小,则截去超出的数据

[gz_fieldyang@test ~]$ sed -n -e 199905,199929p /usr/share/dict/words|pr -c10 -t 

intrac intrac intrac intrac intrac intrac intrad intrad intrad intrad

intrac intrac intrac intrac intrac intrac intrad intrad intrad intrad

intrac intrac intrac intrac intrac

[gz_fieldyang@gimei-test ~]$

 

#######################################################

其他系统打印工具

大部分PostScript的打印机不接受纯文本,这时像TEX与troff之类的排版系统,

会将标记文件转换为PostScript或是PDF的页面映像,其显示出的样子无法控制。

解决方法就是文本到PostScript的过滤器,例如a2ps,lptops,或Sun
Solaris专属的mp


 

用法如下:

a2ps file > file.ps           
#产生文件的Postscript列表


a2ps file | lp
                            #打印文件的Postscript列表


 

lptops file > file.ps
                       #产生文件的Postscript列表


lptops file | lp
                              #打印文件的Postscript列表


 

mp file > file.ps
                            #产生文件的Postscript列表


mp file | lp
                                   #打印文件的Postscript列表


 

BSD,IBM AIX及Sun Solaris
系统还提供vgrind命令:


它用来过滤以各种程序语言构成的文件,将他们转换为troff输入,

将数据进行设置排版后,输出为Postscript

随后的tgrind提供类似功能:其产生的是TEX输入,迅速产生Postscript与PDF输出


 

实例1:

cat > hello.c

#include<stdio.h>

int main(){

   
printf("hello,");

   
printf("world");

   
printf("\n");

   
return 0;

}

[....@... ~]$ tgrind -p hello.c 
     #排版与打印hello.c

[....@... ~]$ vgrind hello.c | lp 
           
#排版与打印hello.c

[....@... ~]$ tgrind -i 1 -fn Bookman -p hello.c      
#打印列表
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: