第16章
一、复习题
1、
什么是过滤器?
过滤器就是任何能够从标准输入读取文本数据并向标准输出写入文本数据 (每次一行) 的程序。
(一个程序是不是过滤器取决于其使用方式,当它从标准输入读取文本数据时充当的是过滤器,当它从文件中读取数据时就不是了。)
为什么过滤器如此重要?
<1>创建管道线时,必须使用过滤器。
<2>过滤器是Unix工具箱中最有用最重要的程序。
<3>利用可自己编写过滤器,创建适用于自己的工具,也可以将已有的工具组合在一起解决问题。
2、
4个步骤:
<1>分解问题
思考,将问题分解成多个部分,每个部分可以由单独的程序执行。
<2>选择工具
查找完成任务的工具并试验。
<3>与他人讨论
<4>选择选项
查看联机手册中的文档资料,检查选项。
3种技能:
思考、RTFM、询问他人的意见。
(RTFM:只要查阅文件就可以解决的问题,就不要拿出来提问浪费别人的时间)
3、
为什么cat是最简单的过滤器?
cat将标准输入的数据复制到标准输出,不以任何方式对数据做任何特殊处理或改变。
cat的用途
(文件名以file为例)
<1>从键盘读取数据,创建新文件或替换已有文件。
cat > file
<2>在已有文件中追加少数几行内容。
cat >> file
<3>显示一个短文件。
cat < file
cat file
<4>组合多个文件,每次一屏地显示结果。
cat file1 file2 file3 | less
<5>通过重定向标准输入和输出复制文件。
cat < file1 > file2
……
4、
tac和rev之间有什么区别?
tac使文件中各行的顺序反转;
rev使各行中字符的顺序反转。
二、应用题
1、cat data1 data2 data3 data4 data5 | wc -l
2、(a)cat
;(b)tac
;(c)rev
;(d)rev file | tac
(b)(c)(d)相反的转换:cat
测试:
$cat file
X
XX
XXX
$tac file
XXX
XX
X
$rev file
X
XX
XXX
$rev file | tac
XXX
XX
X
3、dmesg | tail -n 25
三、思考题
1、一个过滤器可以执行许多技巧,解决许多不同类型的问题。除此之外,还可以增强过滤器的功能。
其他工具:
od – 转储文件
find – 在文件目录中搜索文件
less – 在文件里向前或向后移动
……
2、需要。使用split不仅可以节省时间,而且在接收方接收消息大小有限制时,划分文件是必要的。