代码改变世界

shell学习之sed

2012-03-06 17:19  myjava2  阅读(183)  评论(0编辑  收藏  举报

经过这两天sed的学习,发现其实sed其实挺简单的无非就是两句话来总结:sed是一种基于hold space和pattern space的逐句操作编辑器。

为什么这么说呢,通过学习不难发现,不管是grep ,sed都是利用正则表达式进行的操作,所以这里在学习shell编程前我们一定好好的学习正则表达式。

下来介绍一下我对sed的几点认识:首先就是搞清楚hold space和pattern space的概念。然后再了解sed的命令参数的意义,这样才能游刃有余。

下面是课后习题,1.把Jone的名字改为Jonathan。

2.删除头3行。


3.打印第5-10行.这里我还弄错了呢,本以为是才3行呢,后来发现还包含了空格行。偷笑

4.删除含有Lane的所有行


5.打印所有生日在11月或12月的行


6.在以Ered开头的行尾加上3颗星.$表示行尾的意思,&用来表示查到的匹配内容

7.将所有包含Jose的行都替换为JOSE HAS RETIRED


8.把popeye的生日改为11/14/46,假定您不知道popeye的生日。这里我只想到了这一种方法,大家伙有人知道更好的方法请给我回复啊微笑


9.删除所有空行


10.将姓和名倒置