什么是 sed?
sed(Stream Editor)是 Unix/Linux 系统中一个非常强大的文本处理工具。它能够对输入流(文件或管道)进行基本的文本转换,常用于自动化脚本中进行查找、替换、删除、插入等操作。
sed 是非交互式的,这意味着它不需要用户干预即可完成任务,非常适合在 shell 脚本中使用。
基本语法
sed 的基本命令格式如下:
sed [选项] '命令' 文件
例如,将文件中的所有 "apple" 替换为 "orange":
sed 's/apple/orange/g' filename.txt
常用命令示例
s:替换(substitute)d:删除(delete)p:打印(print)匹配行i/a:在指定行前/后插入文本
示例:删除空行
sed '/^$/d' file.txt
为什么使用 sed?
sed 具有以下优势:
- 轻量高效,适合处理大文件
- 支持正则表达式
- 可嵌入 shell 脚本实现自动化
- 无需打开文件即可修改内容(配合重定向或 -i 选项)