跳转至

1. 介绍

1. 介绍

sed全拼:stream editor(字符流编辑器),简称流编辑器
sed是操作、过滤、转换文本内容的强大工具

常用的功能包括:结合正则表达式对文件实现快速增删改查,其中查询功能中最常用的2大功能是过滤(过滤指定字符串)、取行(取出指定行)

2. 语法及参数

# 语法:
sed [options] [sed内置命令字符] file

# 选项:
-n:取消默认sed的输出,常与sed内置命令p一起用
-i:直接将修改结果写入文件,不用-i,sed修改的是内存数据
-e:多次编辑,不需要管道符
-r:支持正则扩展

# 内置命令符
a:append,对文本追加,在指定行后面添加一行/多行文本
d:delete,删除匹配行
i:insert,插入文本,在指定行前添加一行/多行文本
p:print,打印匹配行的内容,通常与-n一起用
s/正则/替换内容/g:匹配正则内容,然后替换,结尾g代表全局匹配

# sed匹配范围
空地址:全文处理
单地址:指定文件某一行
/pattern/:被模式匹配到的每一行
范围区间:10,20:10行到20行  10,+5:第10行向下5行 /pattern1/,/pattern2/:输出pattern1和pattern2之间的数据!
步长:1~2:表示1,3,5,7,9等奇数行。2~2:表示2,4,6,8,10等偶数行

3. 使用场景

1.脚本中快速修改替换配置文件内容!
sed -i 's/127.0.0.1/10.0.8.2/g' /etc/zabbix/zabbix-server.conf

2.截取日志文件中指定时间段的日志!
sed -n '/2022\/02\/09 21:20:17/,/2022\/02\/09 21:20:41/'p error.log.1

最后更新: 2022-02-15 08:59:03