sed(stream editor,流编辑器)是 Linux 和 Unix 系统中用于对文本进行自动化编辑的强大命令行工具。它能够对输入流(文件或管道)中的文本逐行处理,并支持查找、替换、插入、删除等操作,常用于 shell 脚本中实现批量文本处理。
基本语法
最常用的 sed 命令格式如下:
sed 's/原字符串/替换字符串/' 文件名
常见用途示例
- 替换文本:
sed 's/foo/bar/g' input.txt—— 将 input.txt 中所有 "foo" 替换为 "bar" - 删除行:
sed '2d' file.txt—— 删除第 2 行 - 打印特定行:
sed -n '3p' file.txt—— 仅打印第 3 行
sed 不会直接修改原始文件(除非使用 -i 参数),而是将处理结果输出到标准输出,便于与其他命令组合使用。
为什么使用 sed?
sed 非常适合在没有图形界面的服务器环境中进行快速、高效的文本处理。配合 grep、awk 等工具,可构建强大的文本处理流水线。