sed(全称:Stream Editor)是 Linux 和 Unix 系统中一个非常强大且常用的命令行文本处理工具。它能够对输入流(文件或管道)中的文本进行自动化的编辑操作,如查找、替换、删除、插入等,而无需交互式干预。
sed 的基本特点
- 非交互式:一次执行即可完成批量处理。
- 基于行处理:按行读取并处理文本。
- 支持正则表达式:可灵活匹配复杂模式。
- 常用于 Shell 脚本中:实现自动化文本处理。
基本语法
sed [选项] '命令' 文件名
常用示例
- 替换文本:
sed 's/old/new/g' file.txt
- 删除空行:
sed '/^$/d' file.txt
- 打印特定行(例如第5行):
sed -n '5p' file.txt
为什么使用 sed?
在处理日志、配置文件或大批量文本数据时,sed 能极大提升效率。它轻量、快速,且几乎在所有类 Unix 系统中默认安装,是系统管理员和开发者的必备工具之一。