什么是 sed?
sed(Stream Editor)是一个面向行的非交互式文本编辑器,常用于在 Linux 和 Unix 系统中对文本进行自动化处理。它能读取输入流(文件或管道),逐行处理,并输出结果,非常适合用于脚本和批量文本操作。
基本语法
sed 的基本命令格式如下:
sed [选项] '命令' 文件
常见选项包括:
-e:添加多个处理命令-f:从脚本文件中读取命令-i:直接修改原文件(慎用)-n:取消默认输出,仅打印匹配行
常用命令示例
- 替换文本:
sed 's/旧文本/新文本/g' file.txt - 删除空行:
sed '/^$/d' file.txt - 打印第 5 行:
sed -n '5p' file.txt - 在每行开头添加注释符号:
sed 's/^/# /' file.txt
sed 与正则表达式
sed 支持基本正则表达式(BRE),可用于模式匹配、分组、引用等高级文本处理任务。例如:
sed -r 's/(.*):(.*)/\2:\1/' passwd.txt
该命令交换冒号分隔的两列内容。
学习资源推荐
想更深入了解 sed 及其在 AI 与自动化脚本中的应用?可参考以下专题文章: