什么是 sed?
sed(全称:stream editor)是一个用于对输入流(文件或管道)进行基本文本转换的非交互式编辑器。它常用于 shell 脚本中自动化文本处理任务。
在技术英语中,“stream editor” 指的是“流编辑器”,强调其逐行处理输入数据流的能力。
基本语法
sed [选项] '命令' 文件
常见选项:
-e:添加多个脚本-i:直接修改文件(in-place editing)-n:禁止自动打印模式空间
常用命令示例
替换文本(Substitute)
sed 's/old/new/g' file.txt
说明:s 表示 substitute(替换),g 表示 global(全局替换)。
删除行(Delete)
sed '/pattern/d' file.txt
说明:d 表示 delete(删除)匹配 pattern 的行。
打印特定行(Print)
sed -n '5p' file.txt
说明:p 表示 print(打印),配合 -n 只输出指定内容。
sed 与正则表达式
sed 支持基础正则表达式(BRE),可用于复杂文本匹配与处理。例如:
sed -n '/^[A-Z]/p' file.txt # 打印以大写字母开头的行