概述
在 Linux 文本处理工具链中,sed(Stream Editor,流编辑器)是一款 “轻量高效” 的核心工具。它与 Vim 这类交互式编辑器完全不同 —— 无需手动点击或输入键盘命令,而是通过 “预设规则” 自动处理数据流,尤其适合批量修改、筛选文本。
1. sed 的核心工作原理
sed 遵循 “逐行处理、一次遍历” 的逻辑,整个流程可概括为 4 步:
- 读取行:从输入(STDIN 或文件)中读取一行数据,存入 “模式空间”(临时缓冲区);
- 匹配规则:根据预设的编辑命令,检查当前行是否匹配规则;
- 执行修改:若匹配,对模式空间中的行执行增、删、改、查等操作;
- 输出结果:将处理后的行输出到 STDOUT,然后清空模式空间,读取下一行。