sed是操作、过滤和转化文本内容的强大工具
原文件:
[root@localhost ~]# cat syh.txt
My name is chaoge.
I teach linux.
I like play computer game.
My qq is 877348180.
My website is http://pythonav.cn.
1、-n 不显示默认输出
[root@localhost ~]# sed -n "2,3p" syh.txt
I teach linux.
I like play computer game.
[root@localhost ~]# sed -n "2,+3p" syh.txt
I teach linux.
I like play computer game.
My qq is 877348180.
My website is http://pythonav.cn.
2、/ /p 匹配范围
[root@localhost ~]# sed -n "/linux/p" syh.txt
I teach linux.
3、/ /d 删除范围,-i 写入到文件,修改原文件
[root@localhost ~]# sed "/linux/d" syh.txt
My name is chaoge.
I like play computer game.
My qq is 877348180.
My website is http://pythonav.cn.
[root@localhost ~]# sed "/linux/d" syh.txt -i
My name is chaoge.
I like play computer game.
My qq is 877348180.
My website is http://pythonav.cn.
4、s///g 全局替换
[root@localhost ~]# sed "s/My/I/g" syh.txt
I like play computer game.
I qq is 877348180.
I website is http://pythonav.cn.
5、-e 多次修改
[root@localhost ~]# sed -e "s/I/My/g" -e "s/877348180/100/g" syh.txt -i
6、a 追加后写,i 追加前写 (2a|4i)
[root@localhost ~]# sed "2a My linux is good." syh.txt -i
[root@localhost ~]# cat syh.txt
My like play computer game.
My qq is 100.
My linux is good.
My website is http://pythonav.cn.
7、\n 换行符
[root@localhost ~]# sed "3a I like girl.\nI like pretty girl" syh.txt
8、取ip地址
[root@localhost ~]# ifconfig ens33 | sed -e "2s/^.*inet//" -e "2s/net.*$//p" -n
192.168.148.136