曲径通幽论坛

标题: pattern space 和 hold space 的概念 [打印本页]

作者: beyes    时间: 2012-1-30 01:04
标题: pattern space 和 hold space 的概念
sed 是个流编辑器,它每次从文件(或 输入)中读入一行,然后对改行进行指定处理,并将结果输出,然后继续读入下一行,处理,输出,如此反复,直到没有再需要处理的内容。

下图是一个工作原理说明图:
[attach]171[/attach]

图中有两个关于“空间“的概念:pattern space 和 hold space 。

其中,pattern space 是真正的工作场所,它就像一条流水线,当 sed 从输入中读入一行内容时,会将这些内容放在此处,然后再到脚本文件中读取处理命令对所读入内容进行处理。

hold space 是个字串处理的暂存区域,或者说是一个临时用途的缓冲区。

因此,基于上述功能,也有人形象的将 pattern space 和 hold space 比喻为:
pattern space相当于车间sed把流内容在这里处理。
hold space相当于仓库,加工的半成品在这里临时储存。





欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2