什么是 sed?
sed(stream editor)是一个强大的 Unix/Linux 文本流编辑器,常用于对输入流(文件或管道)进行基本的文本转换。它无需交互即可完成替换、删除、插入等操作,是 shell 脚本中处理文本的利器。
基本语法
sed [选项] '命令' 文件名
例如:
sed 's/old/new/g' file.txt
将 file.txt 中所有 "old" 替换为 "new"。
常用选项
-e:允许多个编辑命令-i:直接修改原文件(慎用!)-n:抑制默认输出,仅打印匹配行
常见用法示例
1. 替换文本
sed 's/foo/bar/' input.txt
2. 删除空行
sed '/^$/d' input.txt
3. 打印特定行
sed -n '5p' input.txt # 打印第5行
4. 在行首/行尾添加内容
sed 's/^/PREFIX /' input.txt # 行首加 PREFIX sed 's/$/ SUFFIX/' input.txt # 行尾加 SUFFIX
小贴士
sed 支持正则表达式,结合 g(全局)、i(忽略大小写)等标志可实现更灵活的文本处理。建议在使用 -i 修改文件前先备份原始文件。