sed 常用语法学习笔记表格版
1. sed 基础概念
| 项目 | 说明 |
|---|---|
| sed 全称 | stream editor,流编辑器 |
| 主要作用 | 对文本进行查找、替换、删除、打印、插入、提取 |
| 默认行为 | 不直接修改原文件,只把处理结果输出到终端 |
| 修改原文件 | 需要使用 -i 参数 |
| 常用场景 | 处理 log、report、netlist、tcl、timing report、ECO 脚本 |
2. sed 基本语法
| 语法 | 含义 |
|---|---|
sed [选项] '命令' 文件名 |
sed 基本格式 |
sed 's/old/new/' file.txt |
将每行第一次出现的 old 替换为 new |
sed 's/old/new/g' file.txt |
将每行所有 old 替换为 new |
sed -i 's/old/new/g' file.txt |
直接修改原文件 |
sed -n '/keyword/p' file.txt |
只打印包含 keyword 的行 |
sed '/keyword/d' file.txt |
删除包含 keyword 的行 |
3. sed 常用选项
| 选项 | 作用 | 示例 |
|---|---|---|
-n |
取消默认输出,通常配合 p 使用 |
sed -n '5p' file.txt |
-i |
直接修改原文件 | sed -i 's/old/new/g' file.txt |
-i.bak |
修改原文件前生成备份 | sed -i.bak 's/old/new/g' file.txt |
-e |
同时执行多个 sed 命令 | sed -e 's/a/b/g' -e 's/c/d/g' file.txt |
-E |
使用扩展正则表达式 | sed -E 's/[0-9]+/NUM/g' file.txt |
-f |
从 sed 脚本文件读取命令 | sed -f script.sed file.txt |
4. sed 三个核心操作
| 操作符 | 英文含义 | 中文含义 | 常用命令 |
|---|---|---|---|
s |
substitute | 替换 | sed 's/old/new/g' file.txt |
p |
打印 | sed -n '/keyword/p' file.txt |
|
d |
delete | 删除 | sed '/keyword/d' file.txt |
5. 替换操作 s
| 功能 | 命令 | 说明 |
|---|---|---|
| 替换每行第一个匹配项 | sed 's/old/new/' file.txt |
每一行只替换第一次出现的 old |
| 替换每行所有匹配项 | sed 's/old/new/g' file.txt |
g 表示 global,全局替换 |
| 直接修改文件 | sed -i 's/old/new/g' file.txt |
修改原文件 |
| 修改前备份 | sed -i.bak 's/old/new/g' file.txt |
生成 file.txt.bak |
| 只替换第 5 行 | sed '5s/old/new/g' file.txt |
只对第 5 行生效 |
| 只替换第 10 到 20 行 | sed '10,20s/old/new/g' file |


1184

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



