文本三剑客之seq(流编辑器)

目录

1.功能介绍

2.使用说明(举例)

3.拓展总结


1.功能介绍

Stream Editor##修改文本和替换,简称sed

sed 是 Linux/Unix 系统中一个非常强大的流式文本编辑工具,它用于对文本进行替换、删除、插入等操作。他有一下几种常用的功能:

替换:sed 可以用来替换文本中的特定字符串,语法为 s/old_string/new_string/g,其中 old_string 是要被替换的字符串,new_string 是替换后的字符串,g 表示全局替换。

删除行:可以使用 sed 删除文本中符合特定模式的行,语法为 /pattern/d,其中 pattern 是匹配模式。

插入和追加:sed 可以用来在指定位置插入新内容或者在行尾追加内容。

执行命令:sed 可以执行一系列编辑命令,比如替换、删除等,并且可以将编辑结果输出到标准输出或者保存到文件中。

多行操作:sed 可以处理多行文本,可以通过地址范围来指定需要操作的文本行。

2.使用说明(举例)

1.首先准备一个文本文件

我这里自己在 /test 下编辑了一个sed.txt的文本文件

[root@centos-router test]# vim sed.txt
[root@centos-router test]# cat sed.txt 
繁花落尽,柳絮飘零,
春水泛起涟漪盈盈。
xiaomi redmi dami 
baidu tencent jingdong alibaba
qq wexin 
123456789
[root@centos-router test]# pwd
/test


2.编辑文本文件

1.替换功能

我这里将原来的含有redmi 的行全改成 lanmi ,标红突出一下

xiaomi lanmi dami 

s是替换模式

g表示全局替换

/pattern/ 表示匹配模式

-i 是直接对源文件进行修改,如果你是对系统文件修改请慎重!!!

[root@centos-router test]# sed -i '/redmi/ s/redmi/lanmi/g' sed.txt
[root@centos-router test]# cat sed.txt 
繁花落尽,柳絮飘零,
春水泛起涟漪盈盈。
xiaomi lanmi dami 
baidu tencent jingdong alibaba
qq wexin 
123456789
##用aaa替换所有含有i的行的i字符
[root@centos-router test]# sed -i '/i/ s/i/aaa/g' sed.txt
[root@centos-router test]# cat sed.txt 
繁花落尽,柳絮飘零,
春水泛起涟漪盈盈。
xaaaaomaaa lanmaaa damaaa 
baaaadu tencent jaaangdong alaaababa
123456789
##整行替换 匹配到/繁花/ 替换成 linux
[root@centos-router test]# sed -i '/繁花/c linux' sed.txt 
[root@centos-router test]# cat sed.txt 
luojin
linux
fanhua
春水泛起涟漪盈盈。
xaaaaomaaa lanmaaa damaaa 
baaaadu tencent jaaangdong alaaababa
123456789

2.删除功能

删除了含有qq  的行

[root@centos-router test]# sed -i '/qq/ d' sed.txt
[root@centos-router test]# cat sed.txt 
繁花落尽,柳絮飘零,
春水泛起涟漪盈盈。
xiaomi lanmi dami 
baidu tencent jingdong alibaba
123456789
3.追加功能

##a用法 在匹配行后面插入

1a 表示第一行,在第一行后面插入

[root@centos-router test]# sed -i '1a fanhua' sed.txt 
[root@centos-router test]# cat sed.txt 
繁花落尽,柳絮飘零,
fanhua
春水泛起涟漪盈盈。
xaaaaomaaa lanmaaa damaaa 
baaaadu tencent jaaangdong alaaababa
123456789

##i 用法 在匹配行前面插入

1i表示第一行。在第一行前面追加

[root@centos-router test]# sed -i '1i luojin' sed.txt 
[root@centos-router test]# cat sed.txt 
luojin
繁花落尽,柳絮飘零,
fanhua
春水泛起涟漪盈盈。
xaaaaomaaa lanmaaa damaaa 
baaaadu tencent jaaangdong alaaababa
123456789
4.打印功能

-p

##打印模式空间的第一行到第三行的内容

[root@centos-router test]# sed -n '1,3p' sed.txt 
luojin
linux
fanhua
[root@centos-router test]# cat sed.txt 
luojin
linux
fanhua
春水泛起涟漪盈盈。
xaaaaomaaa lanmaaa damaaa 
baaaadu tencent jaaangdong alaaababa
123456789

3.拓展总结

sed 的空间

模式空间 pattern space

临时仓库 hold space

##sed -r 支持sed的拓展正则

##还有其他的没补充好的请自行到man sed手册,这里只介绍sed 的一般常用的用法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值