什么是 sed?
sed(Stream Editor)是一个非交互式的文本处理工具,常用于在 Shell 脚本中自动编辑文件或数据流。它逐行读取输入,执行指定的编辑命令,并输出结果。
基本语法
sed [选项] '命令' 文件
例如:
sed 's/old/new/g' file.txt
将 file.txt 中所有 old 替换为 new 并输出到终端(不修改原文件)。
常用命令示例
- s:替换(substitute)
sed 's/foo/bar/' input.txt - d:删除(delete)
sed '/pattern/d' input.txt - p:打印(需配合 -n)
sed -n '/error/p' log.txt - i / a:在行前/后插入
sed '2i\New line' file.txt
实战技巧
• 就地修改文件:使用 -i 选项
sed -i 's/旧内容/新内容/g' filename
• 多命令组合:
sed -e 's/a/A/g' -e 's/b/B/g' file.txt