linux打印工具pr实例详解



打印工具

语法: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的打印机不接受纯文本,这时像TEXtroff之类的排版系统,

会将标记文件转换为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 AIXSun Solaris 系统还提供vgrind命令:

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

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

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

 

实例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       #打印列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值