跟我学 linux shell 脚本编程(8)sed使用2

2025-10-20 18:49:34

1、上一节小编说过,用两种方法查看3-10行文件,这里小编再用一种方法

就是反选,shell中感叹号!是  非  的意思,就是取余,比如

sed  '3,6p'  file    是读取每一行,查看3,6行,会出现两遍3-6行

跟我学 linux shell 脚本编程(8)sed使用2

2、如果取反,则是使用!

sed ‘3,6!p’file  

先不看结果,我们分析一下,sed读取一行打印,然后进行操作(如果不是3-6行则打印一次)也就是说,如果不是3-6行,则会打印两次哦

如下图左

跟我学 linux shell 脚本编程(8)sed使用2

3、如果只是    不    想显示3,6行呢

sed -n '3,6!p'  file,如上图右

4、下面说一下查找的问题,如果小编想查找某一部分内容怎么办,当然grep可以做到,其实sed也可以做到,而且功能更强大!!!

5、比如小编想找一下含有数字5的那一行,先看看文本内容

(小编对上面使用的列子文件file做了一点修改,为了讲解方便)

跟我学 linux shell 脚本编程(8)sed使用2

6、查找使用命令  /内容/

比如上面小编想查找含有数字5的那行

sed -n '/5/p'  file

跟我学 linux shell 脚本编程(8)sed使用2

7、如上图,含有数字5的都会显示出来,包括55

那么如果我们只想看含有5的怎么办呢?加一个限制就可以了,当然如果小伙伴想真正的看懂,还要去学习一下正则表达式(有需要的话,小编也会将的)

sed -n '/\<5\>/p'  file

跟我学 linux shell 脚本编程(8)sed使用2

8、其实就是用方括号括起来  <内容> 为什么会有反斜杠呢?

是因为要转义(如果不明白什么事转义,那么小伙伴去百度搜一下吧,这里小编简单的告诉大家一下,转义就是因为方括号还有别的功能,如果不转义,他会使用它别的功能)

9、替代功能:

sed   's/原内容/替换后的内容/g'   file

格式如上,s/a/b/gp  是指将a 换成 b 后面的g是全部这么操作,也就是如果有多个a就换成多个b 

小编想将数字 3 换成  3rd

sed 's/3/3rd/'  file

跟我学 linux shell 脚本编程(8)sed使用2

10、如果小伙伴想学更多可以自己去搜sed的使用,当然小编也推荐一本书

sed与awk

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢