linux下sed命令
linux下sed命令详细介绍
sed(Stream Editor)是 Linux 中一个强大的流编辑器,可对文本进行替换、删除、插入、追加等操作。以下是一些常见用法:
1. 替换文本
基本语法:sed 's/原字符串/新字符串/替换标志' 文件名
- 替换每行中第一个匹配项:
bash
file.txt
此命令会把 file.txt 文件里每行的第一个 old 替换成 new。
- 替换每行中所有匹配项:
bash
file.txt
这里的 g 是全局替换标志,它会将 file.txt 里每行的所有 old 都替换成 new。
- 只替换第 n 个匹配项:
bash
file.txt
该命令会把 file.txt 里每行的第二个 old 替换成 new。
2. 删除行
- 删除包含特定字符串的行:
bash
file.txt
它会删除 file.txt 里包含 “特定字符串” 的行。
- 删除指定行:
bash
file.txt
此命令会删除 file.txt 的第 3 行。
- 删除指定范围的行:
bash
file.txt
它会删除 file.txt 中第 3 行到第 5 行的内容。
3. 插入和追加行
- 在指定行前插入一行:
bash
file.txt
这会在 file.txt 的第 3 行前插入 “插入的内容”。
- 在指定行后追加一行:
bash
file.txt
此命令会在 file.txt 的第 3 行后追加 “追加的内容”。
4. 打印特定行
- 打印指定行:
bash
file.txt
该命令会打印 file.txt 的第 3 行,-n 选项的作用是抑制默认输出。
- 打印指定范围的行:
bash
file.txt
它会打印 file.txt 中第 3 行到第 5 行的内容。
5. 保存修改
以上示例默认只是输出修改后的结果,若要保存修改,可使用 -i 选项:
bash
file.txt
912 file.txt
此命令会直接把 file.txt 里的所有 old 替换成 new,并保存修改。