Linux三剑客-sed

前言:sed是Stream Editor(字符流)的缩写,简称流编辑器。
sed是操作、过滤和转换问吧内容的强大工具。

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

sed命令 

语法:
sed [选项] [sed内置命令字符] [输入文件]

选项

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

sed内置命令字符用于对文件进行不同的操作功能,如对文件增删改查

sed常用 内置命令字符:

sed的内置命令字符解释
aappend,对文本追加,在指定行后面添加一行,多行问吧
ddelete,删除匹配行
iinsert,表示插入文本,在指定行前面添加一行/d多行文本
pprint,打印匹配行的内容,工厂p与-n一起使用
s/正则/替换内容/g匹配正则内容,然后替换内容(支持正则),结尾g(global)代表全局匹配

sed匹配范围

范围解释
空地址全文处理
单地址指定某一行
/pattern/被模式匹配到每一行  过滤 / / 中间的内容
范围区间10,20 十到二十行, 10,+5 第十行向下五行  , /pattern1/,/pattern2/
步长1~2,表示1、3、5、7、9奇数行 , 2~2两个步长,表示2、4、6、8、10偶数行

sed案例

案例1:输出dome1文件第2,3行内容 
sed -n '2,3p' dome1    or   sed -n '2,+1p' dome1

案例2: 过滤出含有linux的字符串行
sed -n '/linux/p' dome1

案例3:删除有blooms的行
sed -i '/blooms/d' dome1

案例4:从第五行删除到最后一行 第五行也删除
sed -i '5,$d' dome1

案例5:替换文件所有the 为file  
sed -i 's/the/file/g' dome1

案例6: 替换文件所有the为then 并且把8替换成888
sed -e 's/the/then/g' -e 's/8/888/g' -i dome1

案例7:在文件第二行后面追加内容 aaa
sed -i '2a aaa' dome1

案例8:在文件内容第一行前面新增 #!/bin/bash
sed '1i #!/bin/bash' dome1 -i

案例9:在文件中批量新增数据 在第三行下面新增两条数据   使用 \n 换行符
sed '3a I like girl.\nI like prety girl' dome1
 
案例10:在每一行地下 插入一行数据
sed 'a -------------------' dome1

案例11: 在每一行上面 插入一行数据 
sed 'i --------------------' dome1

案例12: 取出IP地址
ifconfig ens33 | sed -n '2p'| sed -e 's/^.*inet//g' -e 's/net.*$//g'           -e 's/ //g'
获取ens33信息     获取第二行数据    替换开头到inet的数据为空  替换net到最后的数据为空 把空格替换为空    下面也可以实现
ifconfig ens33 | sed -n -e '2s/^.*inet//g' -e '2s/net.*$//g' -e '2s/ //gp'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值