跟我学 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:se蟠校盯昂d 显示某几行可以用 :sed -n '3,10p泌驾台佐39; file三个部分,第二部分是操作内容:第三行 逗号 第十行 p(打印的意思)这样就显示3-10行了!!!
9、当然如果不想显示3-10行呢,sed里面有个删除命令,就是字母d比如sed '3,10d' file
10、解释一下这个命令的意思:sed '3,10d' file他会显示所有的内用,然后去掉3-10行,就剩下了其余的内用了
11、下一节继续讲sed的用法,嘻嘻先到这里吧,小编要回去睡觉了(嘻嘻)