在 Linux 下打印

在 Linux 下打印,第1张

当前 Linux 系统采用两套软件配合显示和管理打印。第一,CUPS(Common Unix Printing

507System,一般 Unix 打印系统),用于提供打印驱动和打印任务管理第二,Ghostscript,一种

PostScript 解析器,作为 RIP 使用。

CUPS 通过创建并维护打印队列来管理打印机。如前所述,Unix 下的打印原本是设计成多

用户共享中央打印机的管理模式的。由于打印机本身比连接到它的电脑要慢,打印系统就需要

对打印任务进行调度使其保持顺序。CUPS 还能识别出不同类型的数据(在合理范围内)并转

文件为可打印的格式。

为打印准备文件

作为命令行用户,尽管打印各种格式的文本都能实现,不过打印最多的,还是文本。

23.3.1 pr - 转换需要打印的文本文件

前面的章节我们也有提到过 pr 命令,现在我们来探讨一下这条命令结合打印使用的一些选

项。我们知道,在打印的历史上,基于字符的打印机曾经用过等宽字体,致使每页只能打印固

定的行数和字符数,而 pr 命令则能够根据不同的页眉和页边距排列文本使其适应指定的纸张。

sed = 文件名 | sed 'Ns/\n/:/' | sed -n '/显示行包含的关键字/p',例子:

假设我有文件test,内容为:

Baidu123

ppppqqqq

bAidu567

a.此时我想把含有baidu的行以 "行号:该行完整内容"的形式输出,则只需要执行:

sed = test | sed 'Ns/\n/:/' | sed -n '/baidu/Ip' //最后p前面的是大写的I

得到结果为:

1:Baidu123

3:bAidu567

*.忽略大小写,还有一个比较笨的方法,使用[],将关键字的所有字母的大小写都包括了,就来例来说,/[bB][aA][iI][dD][uU]/

b.输出所有的行,不使用关键字过滤行,则只需要去掉最后一部分,即:

sed = test | sed 'Ns/\n/:/'

得到结果为:

1: Baidu123

2:ppppqqqq

3bAidu567

完!

---------------------------------------------

grep解决这个问题比较好吧,假设有文件test,内容为:

Baidu123

ppppqqqq

bAidu567

如果我想得到格式如 line: line_content这种格式内容的话:

grep -ni "baidu" test

结果为:

1:Baidu123

3:bAidu567

使用sed命令;

具体查看使用规则:

#sed --help;

显示文件X行命令:

#sed -n 'xp' filename

显示文件X行到Y行的内容:

#sed -n 'x,yp' filename

相关显示命令还有tail,cat.awk,head等,可以常看LInux命令大全,或者man命令|help命令查看相关用法。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8946338.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-23
下一篇2023-04-23

发表评论

登录后才能评论

评论列表(0条)

    保存