shell filter的基本概念

过滤器(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

你可能感兴趣的:(shell,过滤器工具)