过滤器(filter)概念:
当创建管道线的时候,必须使用”能够从标准输入读取文本(每次一行)数据,并同时间向标准输出写入文本(每次一行)数据的程序”。
这样的程序成为 “过滤器”,Unix上很多过滤器。
管道线上的 过滤器 可以任意多。
目标:
形成通过组合过滤器成管道线来解决问题的能力 !
过滤器的理解:
1):管道线上的所有命令不都是filter。
$ cat new old extra | grep mark | sort | less
注意,该管道线下的 cat , less命令不是作为过滤器的形式出现。
因为, cat 在这并不是从标准输入中读取数据,而是从(参数:文件)中读取输入。
less不是每次一行地将数据写到标准输出中,所以也不是过滤器。
2):理解这句话:从标准输入读取文本(每次一行)数据,并同时间向标准输出写入文本(每次一行)数据的程序。
# 这里 cat是作为filter形式存在,因为cat的输入来自stdin。
$ cat > data
a # (标准输入了一行)
a # enter(换行)
^C # 这里特意不使用^D正常结束。
$ cat data
a