什么是 sed?
sed(Stream Editor)是 Unix/Linux 系统中用于对输入流(文件或管道)进行基本文本转换的非交互式编辑器。它常用于自动化脚本中,实现查找、替换、删除、插入等操作。
基本语法
sed [选项] '命令' 文件
例如:
sed 's/old/new/g' file.txt
常用命令示例
- 替换文本:
sed 's/foo/bar/' input.txt
- 全局替换:
sed 's/foo/bar/g' input.txt
- 删除行(如删除第3行):
sed '3d' input.txt
- 打印特定行(如第5行):
sed -n '5p' input.txt
- 在匹配行后插入文本:
sed '/pattern/a\new line' input.txt
常用选项
-e:允许多个命令-i:直接修改文件内容(慎用!)-n:取消默认输出,仅打印匹配行-f:从脚本文件读取命令
小贴士
使用 sed -i.bak 可以在修改前自动备份原文件,例如:
sed -i.bak 's/error/warning/g' log.txt
这将在修改 log.txt 的同时生成 log.txt.bak 备份文件。