sed 使用

sed

stream editor

sed 是一个非交互性文本流编辑器。流编辑器是一行一行处理文件内容的,然后对该行进行指定的处理,然后正在处理的内容存放在模式空间(缓冲区)内,并将结果输出到屏幕,接着读入下一行。整个文件像流水一样被逐行处理然后逐行输出。这就是流编辑器。

Sed工作流程:首先读取文本中的第1行,将其放入模式空间内。然后读取第一条编辑指令,使用指令中定义的模式和行号查找、编辑文本(这些操作都是针对读入到模式空间里的文本进行的操作,原文本的内容不受影响)。 如果不匹配,则忽略后续的编辑命令。完成编辑后,将结果输出并读取下一行,重复这个过程直到文本结束。文本内容不会被改变,只是改变了输出。

除了模式空间之外,sed还使用了一个被称为保留空间的临时缓冲区,保留空间通常用于暂存编辑内容。暂存空间里默认存储一个空行。

,