什么是 sed?
sed(Stream Editor)是 Unix/Linux 系统中用于对输入流(文件或管道)进行基本文本转换的非交互式编辑器。它常用于自动化脚本中执行查找、替换、插入、删除等操作。
基本语法
sed [选项] '命令' 文件名
例如:
sed 's/old/new/g' file.txt
将 file.txt 中所有 “old” 替换为 “new”。
常用选项
-n:抑制默认输出,仅打印匹配行-i:直接修改原文件(慎用!)-e:允许多个命令-f:从脚本文件读取命令
常用命令示例
1. 替换文本
sed 's/foo/bar/' input.txt
2. 全局替换
sed 's/foo/bar/g' input.txt
3. 删除空行
sed '/^$/d' input.txt
4. 打印特定行
sed -n '5p' input.txt # 打印第5行
5. 在匹配行后追加内容
sed '/pattern/a\new line' input.txt
小贴士
- 使用单引号包裹命令,避免 shell 解释特殊字符
- 测试时先不加
-i,确认结果无误后再修改原文件 - 结合正则表达式可实现更复杂的文本处理