shell中sed编辑器使用

本文介绍了sed编辑器的基本概念及其在Linux系统中的应用。通过详细解释sed的工作流程、使用格式及常见命令,帮助读者掌握sed编辑器的基础操作。此外,还展示了如何在shell脚本中利用sed实现自动化文本处理。

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

前言

在Linux中无论是配置网络配置,还是去处理基本的运维,需要时间较长,尤其在进行某些复杂繁琐的操作时,更加耗时,sed编辑器可以对文件直接编辑,结合shell脚本来实现自动化。

一、sed编辑器的概念

概念

sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。
sed编辑器可以根据命令来处理数据流的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中。

sed工作流程

sed的工作流程主要包括三个步骤,读取 执行和显示三个过程
读取:sed从输入流(文件 管道 标准输入)中读取一行内容并存储到临时的缓冲区中(又称模式空间)
执行:默认情况下,所有的sed命令都在模式空间中顺序地进行,除非指定了行的地址,否则sed命令将会在所有的行上依次执行。
显示:发送修改后的内容到输入流。在发送数据后,模式空间将会被清空。在所有的文件内容都被处理完成前,上述过程将重复执行,直至所有的内容都被处理。
在所有的文件内容都被处理完成之前,上述过程将重复执行,直至所有内容被处理完。

二、使用格式和命令书写

1.命令格式

sed -e ‘要执行的操作’ 文件1 文件2
sed -n -e ‘要执行的操作’ 文件1 文件2
sed -f 脚本文件 文件1 文件2
sed -i -e ‘要执行的操作’ 文件1 文件 2
在脚本中可以使用以下的格式
sed -e ‘n{
操作
。。。
}’ 文件1 文件2 。。。
常用选项
-e 表示指定命令来处理输入的文件,只有一个操作命令时可省略,一般在执行多个操作命令使用
-f 表示用指定的脚本文件来处理输入的文本文件
-h 显示帮助
-n 禁止sed编辑器输出,但可以与p命令一起使用完成输出。
-i 直接修改目标文本文件。
在这里插入图片描述
sed的帮助界面
sed在使用时 -i 是使用的最多的 可以直接修改文件

常用的操作

a:追加 向匹配行后面插入内容

c:更改 更改匹配行的内容

i:插入 向匹配行前插入内容

d:删除 删除匹配的内容

s:替换 替换掉匹配的内容

p:打印 打印出匹配的内容,通常与-n选项和用

=:用来打印被匹配的行的行号

l(小写L):打印数据流中的文本和不可打印的ascll字符

使用-a在第三行增加一个字符
在这里插入图片描述
使用-i来在行之前插入一个字符
在这里插入图片描述
在行尾之前插入字符
在这里插入图片描述
替换行中的字符
在这里插入图片描述
删除行的内容
在这里插入图片描述
sed除了基本的增删改查后,还可以输出(打印)文本中指定的行
在这里插入图片描述
打印最后一行
在这里插入图片描述
输出从第三行开始 一直到末行的内容
在这里插入图片描述
输出末行的行号

在这里插入图片描述
打印偶数行
在这里插入图片描述
打印奇数行
在这里插入图片描述

三 shell脚本中使用sed

在这里插入图片描述
源文件中有空行 可以shell脚本来去掉空行
在这里插入图片描述
脚本代码
在这里插入图片描述
输出结果

dns一键部署代码
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南通市民李某人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值