运维三剑客——sed
注意sed和awk使用单引号,双引号有特殊解释
sed是Stream Editor(字符流编辑器)的缩写,简称流编辑器。
sed是操作、过滤和转换文本内容的强大工具。
常用功能包括结合正则表达式对文件实现快速增删改查,其中查询的功能中最常用的两大功能是过滤(过滤指定字符串)、取行(取出指定行)。
语法:
sed [选项] [sed内置命令字符] [输入文件]
选项:
参数选项 -n 解释 取消默认sed的输出,常与sed内置命令p一起用
参数选项 -i 解释 直接将修改结果写入文件,不用-i,sed修改的是内存数据
参数选项 -e 解释 多次编辑,不需要管道符了
参数选项 -r 解释 支持正则扩展
sed的 内置命令字符 用于对文件进行不同的操作功能,如对文件增删改查
sed常用 内置命令字符:
a append, 对文本追加,在指定行后面添加一行/多行文本
d Delete, 删除匹配行
i insert, 表示插入文本,在指定行前添加一行/多行文本
p Print,打印匹配行的内容,通常p与-n一起用
s/正则/替换内容/g 匹配正则内容,然后替换内容(支持正则),结尾g代表全局匹配
sed匹配范围
范围 空地址 全文处理
单地址 指定文件某一行
/pattern/ 被模式匹配到的每一行
范围区间 10,20 十到二十行,10,+5第10行向下5行,/pattern1/,/pattern2/
步长 1~2,表示1、3、5、7、9行,2~2两个步长,表示2、4、6、8、10、偶数行
输出打印pwd.txt文件下第 2,3行的内容
打印包含root的内容
将文本中的My替换为I,注意,这里的只是在进行替换,并没有改变文本内容,加 -i 即可实现改变。
a,在2行下增加一个内容
i,在4行下增加一个内容
只打印你的IP地址
-e参数多次编辑