什么是 sed?
sed(stream editor)是一个强大的文本处理工具,常用于在 Linux 和 Unix 系统中对输入流(文件或管道)进行基本的文本转换。它支持正则表达式,能高效地完成查找、替换、删除、插入等操作。
基本语法
sed [选项] '命令' 文件
常见选项:
-e:允许多个命令-i:直接修改文件内容(慎用)-n:抑制默认输出,配合p打印匹配行
常用命令示例
1. 替换文本
sed 's/old/new/g' file.txt
将 file.txt 中每行所有 “old” 替换为 “new”。
2. 删除行
sed '2d' file.txt # 删除第2行 sed '/pattern/d' file.txt # 删除包含 pattern 的行
3. 打印特定行
sed -n '5p' file.txt # 打印第5行 sed -n '/error/p' file.log # 打印包含 error 的行
高级技巧
结合正则表达式、多命令脚本、就地编辑等功能,sed 可以胜任复杂的文本批处理任务,是 Shell 脚本开发中不可或缺的工具。