随笔- 310  文章- 1  评论- 0  阅读- 85743 

命令介绍

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、^ 表示行首,$表示行尾,用这个两个字符配合字符串,可以强制匹配某行内容

  

 

 posted on   boye169  阅读(79)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示