shell——sed工具

sed是一种强大的流编辑器,用于处理文件内容。它按行读取文件,对模式空间内的行进行编辑,然后输出,不会直接修改源文件。常用选项包括-e(多次编辑)、-n(取消默认输出)、-r(扩展正则)和-i(原地编辑)。处理动作如p(打印)、i(插入)、a(追加)、c(替换)和d(删除)。sed还支持搜索替换、读取外部文件、内容保存及打印行号等操作。通过结合正则表达式,sed能实现复杂的数据过滤和转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sed介绍

sed是Stream Editor (流编辑器) 的缩写,简称流编辑器;
用来处理文件的。
sed是一行一行读取文件内容并按照需求进行处理,把处理后的结构输出到屏幕。
首先sed读取文件中的一行内容,把其保存在一个临时缓存区中(也叫模式空间),
然根据需求处理临时缓冲区的行,完成后把该行发送到频幕上,由于sed把每一行
都存在临时缓存区,对这个副本进行编辑,所以不会直接修改源文件。
sed主要用来自动编辑一个或多个文件;简化对文件的反复操作,
对文件进行过滤和转换操作。

sed使用方法介绍

1.命令行格式

语法格式:

sed [选项] '处理动作' 文件名

常见选项:

-e			进行多次编辑
-n			取消默认输出
-r			使用扩展正则表达式
-i          原地编辑(修改源文件)
-f          指定sed脚本的文件名

常见的处理动作:

'p'			打印
'i'			在指定行之前插入内容
'a'			在指定行之后插入内容
'c'			替换制定行所有内容
'd'			删除指定行

1)对文件进行增删改查操作

语法:
sed 选项 '定位+命令' 需要处理文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 对文件进行搜索替换操作
语法:
sed 选项 's/搜索的内容/替换的内容/动作' 需要处理的文件
s 表示search搜索;斜杠表示分隔符,可以自己定义;动作一般是打印p和全局替换g

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3) 其他命令

r		从另外文件中读取内容
w		内容另存为
&		保存查找串以便在替换中引用
=		打印行号
!		对所选行以外的所有行应用命令,放在行数之后
q		退出

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  1. 其他选项
-e		多项编辑
-r 		扩展正则
-i		修改源文件(慎用)

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
5)sed结合正则使用

/key/			查询包含关键字的

在这里插入图片描述

/key1/,/key2/ 	匹配包含关键字之间的行
/key/,x		 	从匹配关键字的行开始到文件的第x行之间的行

在这里插入图片描述

x,/key/

在这里插入图片描述

x,y!		不包含x到y行

在这里插入图片描述

/key/!	不包含关键字的行

在这里插入图片描述

2.脚本格式

脚本的第一行写上:
#!/bin/sed -f 
3,5d
s/root/hello/g
1i111
2i222
3a333
p

用法:

sed -f 脚本文件  要处理的文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值