命令介绍
sed 主要是用来将数据进行选取、替换、删除、新増的命令。我们看看命令的语法
1 2 3 4 5 6 7 8 9 10 11 12 | 选项: -n:一般 sed 命令会把所有数据都输出到屏幕上。如果加入此选项,则只会把经过 sed 命令处理的行输出到屏幕上; -e: 允许对输入数据应用多条 sed 命令编辑; -f 脚本文件名:从 sed 脚本中读入 sed 操作。和 awk 命令的 -f 选项非常类似; -r:在 sed 中支持扩展正则表达式; -i:用 sed 的修改结果直接修改读取数据的文件,而不是由屏幕输出动作; a \:追加,在当前行后添加一行或多行。当添加多行时,除最后一行外,每行末尾需要用“\”代表数据未完结; c \:行替换,用c后面的字符串替换原数据行。当替换多行时,除最后一行外,每行末尾需用“\”代表数据未完结; i \:插入,在当前行前插入一行或多行。当插入多行时,除最后一行外,每行末尾需要用“\”代表数据未完结; d:删除,删除指定的行; P:打印,输出指定的行; s:字符串替换,用一个字符串替换另一个字符串。格式为“行范围s/旧字串/新字串 /g ”(和Vim中的替换格式类似); |
基本操作
1 2 3 4 5 | sed -n '2p' student.txt #输出第2行数据 sed '2,4d' student.txt #删除从第二行到第四行的数据 sed -i '2,4d' student.txt #直接删除文件从第二行到第四行的数据 sed '2a hello' student.txt #在第二行后加入hello sed '2i hello \nworld' student.txt #在第二行前插入两行数据 |
字符串替换
1 2 3 4 | 格式: sed 's/旧字符串/新字符串/g' 文件名 sed '3s/74/99/g' student.txt #在第三行中,把74换成99 sed '4s/^/#/g' student.txt #在第4行,行开头位置加上#字符 |
删除操作
1 2 3 4 | sed -i '/str$/d' file 1、 sed -i:表示直接对文本操作 2、 sed -i '/字符串/d' file : d,表示删除,整条命令表示删除文件中于字符串匹配上的行 3、^ 表示行首,$表示行尾,用这个两个字符配合字符串,可以强制匹配某行内容 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!