sed的用法

前言
sed在linux中的用法是十分广泛的,学会使用sed是每一个shell脚本使用者的最有效的武器

一.常用选项

  • -i:使用最为广泛的一个选项,使用-i之后会将修改保存至文件中,不加只是进行展示,不会做实际修改。
  • -e:它告诉sed将下一个参数解释为一个sed指令,意思就是当需要过滤两个以上的条件时使用。
  • -f:后跟保存了sed指令的文件。
  • -n:只打印处理过的行。

二.编辑命令

a:向匹配行后面插入内容
i:向匹配行前面插入内容
c:更改匹配行的内容
d:删除匹配行内容
s:替换匹配的内容
p:打印匹配的内容,通常和-n配合使用
=:用来打印被匹配的行号
n:读取下一行,遇到n会自动跳到下一行
r,w:读和写编辑命令

三.操作实例
初始文件
在这里插入图片描述
a:后面插入

1.给第三行末尾插入hello
在这里插入图片描述
2.给字母h(这里可以匹配单词,也可以匹配字母)的下一行插入hello
在这里插入图片描述
3.给最后一行末尾插入woaidenglun,并且保存至文件
在这里插入图片描述
i:前面插入
1.给第一行之前插入hello
在这里插入图片描述
可以看到用法基本跟a差不多,只是插入位置有区别,在这就不继续列举

c:更改
1.更改第一行为abcdef
在这里插入图片描述
2.更改456一行为denglunshauia
在这里插入图片描述
3.更改最后一行为denglunzuishaui
在这里插入图片描述
d:删除
1.删除第二行
在这里插入图片描述
2.删除从第一行起,之后每隔两行就删除一行
在这里插入图片描述
3.删除1到2行
在这里插入图片描述
4.删除除了1~2行之外的行
在这里插入图片描述
5.删除匹配denglun的行

在这里插入图片描述
6.删除匹配456的行到最后一行

在这里插入图片描述
7.删除匹配456的行以及后面两行
在这里插入图片描述
8.删除空行
在这里插入图片描述
9.删除不匹配abc或者456的行

在这里插入图片描述

10.删除1~2行中,匹配abc的行
在这里插入图片描述

s:替换文件中的内容
这个和c的区别是c是更改匹配到的行,而s只是更改匹配到的内容
1.将文件中的所有a替换成888,默认值是只替换每行第一个
在这里插入图片描述
2.将文件中所有a都替换成888
在这里插入图片描述
2.将每行中第二个匹配的换成888

在这里插入图片描述
3.匹配有4的行,替换匹配行中5后的所有内容为my
在这里插入图片描述
4.替换每行的最后两个字符为my
在这里插入图片描述

5.将文件中以4开头的行替换为空行,即为注释的行
在这里插入图片描述
p:打印文件中的行
1.打印文件第三行的内容
在这里插入图片描述
2.跳行打印(第二行开始,每间隔两行打印一行)

在这里插入图片描述
3.逐行读取文件,打印匹配45的行
在这里插入图片描述
4.逐行读取文件,打印从匹配45的行到第二行,同时也打印后面所有匹配45的行

在这里插入图片描述
5.打印第一行到匹配45的行(第一次匹配上的)
在这里插入图片描述
6.打印45匹配的行以及下两行
在这里插入图片描述
7.打印匹配内容a到匹配内容h的行
在这里插入图片描述
8.打印文件最后一行的行号(和wc-l类似)
在这里插入图片描述!
9.打印匹配4的行号和内容
在这里插入图片描述
r:从一个文件读内容到另外一个文件(每一行都读入内容)
1.从rui中读到xuejiarui中
在这里插入图片描述
2.从第三行开始读
在这里插入图片描述

3.在匹配456的行之后插入文件rui的内容,多行匹配都会插入

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值