目录:
一、sed工作流程
- 首先sed把当前正在处理的行保存在一个临时缓冲区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕中
- sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改源文件
- sed主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等
二、sed使用方法
sed常见的语法格式有两种,一种叫命令模式,另一种脚本模式
1.命令行格式:
2.sed基本命令(iac):
i 表 示 在 最 一 行 前 插 入 , i表示在最一行前插入, i表示在最一行前插入,a表示在最后一行插入
3.sed基本命令(rw!)
$r表示在最后一行读取
4.sed基本命令(sg):
- s:用一个字符串替换另一个
- g:在行内进行全局替换
5.sed基本命令(=&和i):
- &:保存查找串以便在替换串中使用 ()
- =:打印行号
- -e:多次编辑
- -i:修改原文件
三、sed命令综合运用
1.将/etc/vsftpd/vsftpd.conf这个文件里面不以#开头的行打印出来
但是还要用到管道符,两次grep太过于麻烦,可以直接使用扩展正则一次性完成!
如果要用sed完成该怎么完成!
2.sed工具过滤ip地址:
如果只要后面的地址,不要前面的英文那些呢?
或者使用cut来提取
3.sed工具截取ip地址:
四、sed脚本使用
注意事项:
1.实例:
将前两行注释掉,然后第三行整行替换成lin,在最后一行添加******end********
但是这样子并没有修改原文件,如果我们想让原文件也发生修改该咋办?