跟我学 linux shell 脚本编程(7)sed使用
1、什么事sed呢,它其实不是一个简单的命令,更像是一个编辑器,像vim一样。有强大的功能。主要适用于显示文本的某些部分,可以替换字符,可以进行对文本的改动。功能非常强大!
2、先举一个例子:
三个部分:
sed 操作内容 文件名
比如小编有个提交任务的脚本叫job.sh
小编输入命令sed 'p' job.sh会出现什么情况呢?


3、大家会发现他显示了文件的所有内容,但是显示了两遍!!!
这是怎么回事,其实sed是读取一行的内容,显示,然后然操作再显示,然后读取下一行,到结尾这里大家看到的第一遍内容是读取内容,第二遍,是操作内容,因为 p
就是打印的意思,所以这里显示了两遍
4、我们怎么来使用sed,让她为我们工作呢?
它有好多操作,小编这里就只说一下最重要的几个,其余的你们可以百度去看别人的博客。
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的用法,嘻嘻先到这里吧,小编要回去睡觉了(嘻嘻)