shell——sed工具
sed介绍
sed是Stream Editor (流编辑器) 的缩写,简称流编辑器;用来处理文件的。sed是一行一行读取文件内容并按照需求进行处理,把处理后的结构输出到屏幕。首先sed读取文件中的一行内容,把其保存在一个临时缓存区中(也叫模式空间),然根据需求处理临时缓冲区的行,完成后把该行发送到频幕上,由于sed把每一行都存在临时缓存区,对这个副本进行编辑,所以不会直接修改源文件。sed主要用来自动编辑一个或多个文件;简化对文件的反复操作,对文件进行过滤和转换操作。
sed使用方法介绍
1.命令行格式
语法格式:
sed [选项] '处理动作' 文件名
常见选项:
-e进行多次编辑-n取消默认输出-r使用扩展正则表达式-i 原地编辑(修改源文件)-f 指定sed脚本的文件名
常见的处理动作:
'p'打印'i'在指定行之前插入内容'a'在指定行之后插入内容'c'替换制定行所有内容'd'删除指定行
1)对文件进行增删改查操作
语法:sed 选项 '定位+命令' 需要处理文件
- 对文件进行搜索替换操作
语法:sed 选项 's/搜索的内容/替换的内容/动作' 需要处理的文件s 表示search搜索;斜杠表示分隔符,可以自己定义;动作一般是打印p和全局替换g
3) 其他命令
r从另外文件中读取内容w内容另存为&保存查找串以便在替换中引用=打印行号!对所选行以外的所有行应用命令,放在行数之后q退出
- 其他选项
-e多项编辑-r 扩展正则-i修改源文件(慎用)
5)sed结合正则使用
/key/查询包含关键字的
/key1/,/key2/ 匹配包含关键字之间的行
/key/,x 从匹配关键字的行开始到文件的第x行之间的行
x,/key/
x,y!不包含x到y行
/key/!不包含关键字的行
2.脚本格式
脚本的第一行写上:#!/bin/sed -f 3,5ds/root/hello/g1i1112i2223a333p
用法:
sed -f 脚本文件 要处理的文件
与50位技术专家面对面
20年技术见证,附赠技术全景图彭州一中