什么是 sed?
sed(全称:stream editor)是一个用于对输入流(文件或管道)进行基本文本转换的非交互式编辑器。它常用于 shell 脚本中自动化文本处理任务。
基本语法
sed [选项] '命令' 文件名
例如:
sed 's/old/new/g' file.txt
将 file.txt 中所有 “old” 替换为 “new”。
常用命令与中文翻译
s—— 替换(substitute)d—— 删除(delete)p—— 打印(print),通常配合-n使用a—— 在匹配行后追加(append)i—— 在匹配行前插入(insert)c—— 替换整行(change)
实用示例
1. 全局替换
sed 's/apple/orange/g' fruits.txt
将 fruits.txt 中所有 “apple” 替换为 “orange”。
2. 删除空行
sed '/^$/d' file.txt
删除文件中的所有空白行。
3. 打印特定行
sed -n '5p' file.txt
仅打印第 5 行内容。
小贴士
使用 -i 选项可直接修改原文件(谨慎使用):
sed -i 's/foo/bar/g' file.txt
该命令会直接将 file.txt 中的 “foo” 替换为 “bar” 并保存更改。