什么是 sed?
sed(Stream Editor)是 Unix/Linux 系统中用于对输入流(文件或管道)进行基本文本转换的非交互式编辑器。它常用于脚本中自动修改文本内容,比如替换、删除、插入等操作。
基本语法
sed [选项] '命令' 文件名
例如:
sed 's/old/new/g' file.txt
该命令会将 file.txt 中每一行的 old 替换为 new,但不会修改原文件(除非使用 -i 参数)。
常用选项
-e script:添加要执行的脚本-f script-file:从文件中读取脚本-i:直接修改原文件(慎用!)-n:静默模式,只输出明确指定打印的内容
常见命令示例
1. 替换文本
sed 's/apple/orange/' fruits.txt
将每行第一个 apple 替换为 orange。
2. 全局替换
sed 's/cat/dog/g' pets.txt
将每行所有 cat 替换为 dog。
3. 删除空行
sed '/^$/d' document.txt
4. 打印特定行
sed -n '5p' data.txt
仅打印第 5 行。
小贴士
- 使用单引号包裹命令,防止 shell 解释特殊字符。
- 结合正则表达式可实现更复杂的文本处理。
- 建议先不加
-i测试命令效果,确认无误后再写入文件。