多语言展示
当前在线:536今日阅读:154今日分享:43

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

这一节讲一下sed的使用方法,讲完sed以及后面的awk之后,小编就开始给大家写实用的脚本啦。让大家看看shell是如何简单的实现我们想要的操作的
方法/步骤
1

什么事sed呢,它其实不是一个简单的命令,更像是一个编辑器,像vim一样。有强大的功能。主要适用于显示文本的某些部分,可以替换字符,可以进行对文本的改动。功能非常强大!

2

先举一个例子:三个部分:sed      操作内容        文件名比如小编有个提交任务的脚本叫job.sh小编输入命令sed   'p'    job.sh会出现什么情况呢?

3

大家会发现他显示了文件的所有内容,但是显示了两遍!!!这是怎么回事,其实sed是读取一行的内容,显示,然后然操作再显示,然后读取下一行,到结尾这里大家看到的第一遍内容是读取内容,第二遍,是操作内容,因为 p就是打印的意思,所以这里显示了两遍

5

第一个功能,只显示一遍内容sed -n   操作内用  文件名这个格式是让sed读取一行之后不要显示这一行内容,而是显示我想要它显示的内容(有点绕口,就是本来他会:    1.读取一行,显示; 2.再按操作内容显示,-n就是不让他显示1.部分的内容)比如sed -n 'p'  job.sh

6

如上图所示, 只显示了一部分内容

7

再来个列子,上面这个似乎没什么卵用:小编想显示某几行怎么办,可以使用head 和tail 一起小编忘记了有没有讲管道,如果忘了,小编下一节补充一下比如显示3-10行的内容:head -10 文件名|tail -8 上面这个命令的意思是,我先显示前10行,然后再显示这10行里的最后8行,岂不就是3-10行了,嘻嘻

8

当然要回到重点,小编要说的是sed:sed 显示某几行可以用 :sed   -n   '3,10p'   file三个部分,第二部分是操作内容:第三行          逗号          第十行         p(打印的意思) 这样就显示3-10行了!!!

9

当然如果不想显示3-10行呢,sed里面有个删除命令,就是字母d比如sed  '3,10d'  file

10

解释一下这个命令的意思:sed  '3,10d'  file他会显示所有的内用,然后去掉3-10行,就剩下了其余的内用了

11

下一节继续讲sed的用法,嘻嘻先到这里吧,小编要回去睡觉了(嘻嘻)

推荐信息