Sed点点基础

网友投稿 823 2022-09-23

Sed点点基础

Sed点点基础

[root@localhost ~]# cat sed.test   // sed 测试文件

a=baidu.com

b=

c=yahoo.com

1. [root@localhost ~]# sed '2d' sed.test    // 删除文件第二行

a=baidu.com

2. [root@localhost ~]# sed '$d' sed.test

a=baidu.com

b=

3. [root@localhost ~]# sed '2,$d' sed.test  //删除第二行到最后一行

a=baidu.com

4. [root@localhost ~]# sed '/baidu/d' sed.test   // 删除匹配”baidu”所在的行

b=

c=yahoo.com

5. [root@localhost ~]# sed 's/baidu/chinaunix/' sed.test  //匹配“百度” 换成 “chinaunix”

a=chinaunix.com

b=

c=yahoo.com

6. [root@localhost ~]# sed -n 's/baidu/chinaunix/p' sed.test    // 只打印匹配并转换的行

a=chinaunix.com

7. [root@localhost ~]# sed 's/baidu/&chinaunix/' sed.test    // 匹配,追加

a=baiduchinaunix.com

b=

c=yahoo.com

8. [root@localhost ~]# echo "thinkful" | sed 's/\(think\)ful/\1able/' //局部替换

Thinkable

9. [root@localhost ~]# sed -n '/baidu/,/yahoo/p' sed.test   //匹配”baidu”到”yahoo”之间的行都被打印

a=baidu.com

b=

c=yahoo.com

10. [root@localhost ~]# sed '/baidu/,//s/$/hello/' sed.test  //匹配之间的行,末尾追加”hello”

a=baidu.comhello

b=hello

c=yahoo.com

11. [root@localhost ~]# sed -e '$d' -e 's/baidu/qq/' sed.test    //先删除最后一行,再替换

a=qq.com

b=

12. [root@localhost ~]# cat writefile

pingguo.com

[root@localhost ~]# sed '/baidu/r writefile' sed.test  // 将文件添加到匹配行后面

a=baidu.com

pingguo.com

b=

c=yahoo.com

[root@localhost ~]# sed '/baidu/w readfile' sed.test   //将匹配行写入到文件中

a=baidu.com

b=

c=yahoo.com

[root@localhost ~]# cat readfile

a=baidu.com

13.

[root@localhost ~]# sed '/yahoo/a\"hello"' sed.test   // 匹配,下一行追加

a=baidu.com

b=

c=yahoo.com

"hello"

14. [root@localhost ~]# sed '/baidu/i\\-new-line---------------' sed.test   //匹配,上一行添加

-new-line---------------

a=baidu.com

b=

c=yahoo.com

15. [root@localhost ~]# sed '/baidu/{n; s//qq/;}' sed.test  //如果”baidu”被匹配,则跳到下一行,进行替换、

a=baidu.com

b=qq.com

c=yahoo.com

16. [root@localhost ~]# sed '1,3y/abcde/ABCDE/' sed.test    //匹配1-3行,Y进行大小写转换

A=BAiDu.Com

B=51Cto.Com

C=yAhoo.Com

17. sed '/^$/d' sed.test可以删除文件中的空行。

sed /^[[:space:]]*$/d filename   可以删除内容为多个空格/tab组成的行。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:十张GIFs让你弄懂递归等概念(最简单的递归)
下一篇:Linux/Unix下Shell快捷键操作大集合
相关文章

 发表评论

暂时没有评论,来抢沙发吧~