CO-process 协处理的理解

发表于:2007-05-26来源:作者:点击数: 标签:
协处理主要是针对那些需要对某个文件进行加工处理。它的表示方法 --------“|” CO-process 协处理主要是针对那些需要对某个文件进行加工处理,但又一时不能完全确定该怎么处理或需要在处理的过程中进行其他的相关操作的人设计的一种处理方式,一般使用的不
协处理主要是针对那些需要对某个文件进行加工处理。它的表示方法 --------“|&”

CO-process 

协处理主要是针对那些需要对某个文件进行加工处理,但又一时不能完全确定该怎么处理或需要在处理的过程中进行其他的相关操作的人设计的一种处理方式,一般使用的不多。
她是通过管道将命令置于后台运行(CMD |&),而区别普通的后台进程(CMD &)。
对于协处理过程,用户可以通过print -p向进程发送命令,通过read -p Var从进程获取输出
例1:通过协处理读取文件的每一行

代码:
cat file
2
3
4
1
D1
D2

# cat file|&
[1]     13433
# while read -p a;do echo $a;done
2
3
4
1
D1
D2
[1] +  Done                    cat file|&

例2:以协处理方式对文件进行编辑
代码:
cat a
1
2
3
4
5
6
7
8
9
0

# ed - a|&
[1]     15276
# print -p 3d  #删除第三行
# print -p m5 #当前行移到第5行去
# print -p w   #保存结果
# print -p q    #退出ed
看结果
# cat a
1
2
5
6
4
7
8
9
0
[1] +  Done                    ed - a|&

需要注意的是在协处理过程的写法中“|”与“&”之间本能有任何其他字符也包括空格。ksh只支持一个协处理进程。

原文转自:http://www.ltesting.net