Linux 之 sed 实例详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 之 sed 实例详解相关的知识,希望对你有一定的参考价值。

sed 实例详解

文本内容:
101,oldboy,CEO
102,zhangyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO

1.sed 增加内容
-a         往文本或号后面增加内容
-i          往行号前增加内容

-a  实例:在Alex 前增加111,Kang,OOO
[[email protected] ~]# sed ‘1a 111,Kang,OOO‘ test.txt 
101,oldboy,CEO
111,Kang,OOO
102,zhangyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO

-i 实例:在Alex后增加两行内容‘123,Kang,bbb   456,Ming,ccc’
[[email protected] ~]# sed ‘4i 123,kang,bbb\n456,ming,ccc‘ test.txt 
101,oldboy,CEO
102,zhangyao,CTO
103,Alex,COO
123,kang,bbb
456,ming,ccc
104,yy,CFO
105,feixue,CIO

2.sed 删除行
-d     删除指定行
[[email protected] ~]# sed ‘1d‘ test.txt        #删除指定第一行
102,zhangyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO

[[email protected] ~]# sed ‘1,3d‘ test.txt        #删除一到3行
104,yy,CFO
105,feixue,CIO

[[email protected] ~]# sed ‘/yy/d‘ test.txt      #根据内容删除行
101,oldboy,CEO
102,zhangyao,CTO
103,Alex,COO
105,feixue,CIO

3.sed 修改文本内容
s:        单独使用,将每一行中行一处匹配的字符串进行替换 ==>sed 命令
g:        每一行进行全部替换,==>sed命令s的替换标志之一,非sed命令
-i:       修改文件内容==>sed软件的选项

简单文本内容替换,把oldboy替换成kang
[[email protected] ~]# sed ‘s#oldboy#kang#g‘ test.txt 
101,kang,CEO
102,zhangyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO

固定操作第5行,以免影响其它行的内容
[[email protected] ~]# sed ‘5s#feixue#kang#g‘ test.txt 
101,oldboy,CEO
102,zhangyao,CTO
103,Alex,COO
104,yy,CFO
105,kang,CIO

以上是关于Linux 之 sed 实例详解的主要内容,如果未能解决你的问题,请参考以下文章

Linux之Shell编程(15)--sed关键字详解演示

linux文本三剑客之sed命令详解

Linux之sed详解

linux之sed命令详解

linux三剑客之sed入门详解

玩转LINUX之sed命令详解