模式空间:可以想成工程里面的流水线,数据之间在它上面进行处理。
保持空间:可以想象成仓库,我们在进行数据处理的时候,作为数据的暂存区域。
正常情况下,如果不显示使用某些高级命令,保持空间不会使用到!

最一開始,pattern space和hold space是空的。
接著開始循環。
1. sed一次從檔案取出一行,刪除結尾的 \n,再放到 pattern space。
2. 比對address或command s 的pattern,如果比對正確才會執行command。
如果比對失敗跳到步驟 4。
3. 對 pattern space 的文字執行 command,並將結果存回pattern space。
如果有多個command,依序執行直到全部command都結束。
4. 將執行完 command 的pattern space送到 stdout,也就是螢幕。
5. 清空 pattern space。
讀取下一行文字,重覆第一步,一直循環到最後一行結束。
整個循環不會清除hold space裡面的文字。
本文深入解析sed命令的工作流程,从模式空间与保持空间的概念出发,详细介绍了sed如何读取文件行,进行模式匹配及命令执行的过程。理解这些基础知识对于掌握sed的高级用法至关重要。
2784

被折叠的 条评论
为什么被折叠?



