1.[root@localhost shell]# touch zh888 //新建一个zh888的空文档
[root@localhost shell]# echo 123 >zh888 //覆盖zh888
[root@localhost shell]# echo 345 >>zh888 //末尾添加345
[root@localhost shell]# echo 678 >>zh888 //末尾添加678
[root@localhost shell]# echo 890 >>zh888 //末尾添加890
[root@localhost shell]# cat zh888 //查看zh888内容如下
123
345
678
890
[root@localhost shell]# sed -n '1'p zh888 //打印第一行
123
[root@localhost shell]# sed -n '2'p zh888 //打印机第二行
345
[root@localhost shell]# sed -n '1,3'p zh888 //打印1和3行
123
345
678
[root@localhost shell]# sed -n '1,$'p zh888 //打印所有行
123
345
678
890
[root@localhost shell]# echo "i love 51cto">>zh888 //重定向i love 51cto到zh888文本的末尾
[root@localhost shell]# sed -n '/love/'p zh888 //打印包含某个字符行
i love 51cto
2.grep特殊字符,如’^’, ‘$’, ‘.’, ‘*’等同样也能在sed中使用
[root@localhost shell]# sed -n '/^1/'p zh888 //打印1开头行
123
[root@localhost shell]# sed -n '/23$/'p zh888 //打印23结尾的行
123
[root@localhost shell]# sed -n '/..3/'p zh888 //打印..3为任意3结尾的行
123
[root@localhost shell]# sed -e '1'p -e '2'p -n zh888 //实现多个行为连续打印行
123
345
3.‘d’ 这个字符就是删除的动作了,不仅可以删除指定的单行以及多行,而且还可以删除匹配某个字符的行,另外还可以删除从某一行一直到文档末行。
[root@localhost shell]# sed '1'd zh888 //删除第一行
345
678
890
i love 51cto
i love 51cto too
[root@localhost shell]# sed '5,6s/love/ai/g' zh888 //替换5和6行的love为ai,s表示替换,g表示本文的全局替换,如果不加g就本文第一个内容替换,除了可以使用’/’外,还可以使用其他特殊字符例如’#’或者’@’都没有问题。
123
345
678
890
i ai 51cto
i ai 51cto too
[root@localhost shell]# sed 's#love#ai#g' zh888 //用#来代替
123
345
678
890
i ai 51cto
i ai 51cto too
[root@localhost shell]# sed 's@love@ai@g' zh888 //用@来代替
123
345
678
890
i ai 51cto
i ai 51cto too
[root@localhost shell]# sed 's/[0-9a-zA-Z]//g' zh888 //删除文档中的所有数字或者字母.
本文转自zh888 51CTO博客,原文链接:http://blog.51cto.com/zh888/1173005,如需转载请自行联系原作者