什么是 sed?
sed(stream editor)是 Linux 和 Unix 系统中用于对输入流(文件或管道)进行基本文本转换的非交互式编辑器。它常用于脚本中自动化文本处理任务。
常见 sed 命令单词
- s:替换(substitute),如
sed 's/old/new/g' - d:删除(delete)匹配行
- p:打印(print)匹配行(需配合
-n使用) - a:在匹配行后追加(append)文本
- i:在匹配行前插入(insert)文本
- c:替换(change)整行为新内容
- =:打印行号
- q:退出(quit)sed 处理
使用示例
# 将文件中所有“apple”替换为“orange”
sed 's/apple/orange/g' file.txt
# 删除空行
sed '/^$/d' file.txt
# 打印第5行
sed -n '5p' file.txt
学习建议
初学者可以从简单的替换和删除操作入手,逐步结合正则表达式实现更复杂的文本处理逻辑。熟练掌握 sed 能极大提升 Shell 脚本编写效率。