shell三剑客之sed

shell三剑客之sed!

一、背景

sed(Stream Editor 流编辑器),作为三剑客的一份子,主要的功能有增删改查。

为什么称之为“流”编辑器呢?

大家知道:在Linux文件系统中,一切都可以作为文件来处理。

比如:配置文件、设备文件、日志等等。

sed就类似于工厂流水线作业的车间一样,文件中的每行内容都是生产元件,经过sed车间流水线处理,最终会变成成品。

二、sed语法格式

同grep一样,sed提供两种方式:

◆ stdout | sed [option] “pattern command”

◆ sed [option] “pattern command” file

第一种是从文本中直接使用pattern匹配搜索

第二种是从标准输出中处理

shell三剑客之sed

 

选项

shell三剑客之sed

 

pattern匹配模式

shell三剑客之sed

 

sed命令-增加&删除

shell三剑客之sed

 

练习:

单行插入

shell三剑客之sed

 

多行插入

shell三剑客之sed

 

删除内容

shell三剑客之sed

 

sed命令-修改

shell三剑客之sed

 

◆ “#”作为定界符,“/”也可以作为定界符,当替换内容有包含定界符时,需要进行转义

◆ 如果要修改文件内容,需要加“-i”参数

练习:

修改文件内容,不对源文件起效

shell三剑客之sed

 

修改源文件内容

shell三剑客之sed

 

修改文件指定行对应的内容

shell三剑客之sed

 

sed分组替换功能

正则表达式中的分组功能sed也是可以支持的,用()记住正则表达式的一部分,其中,\1为第一个小括号里面的内容,如果还有其他的下括号,那么\2即可第二个,以此类推...,最多记住9个。

实例: I am yy teacher.这串文本想要保留yy,删除剩余的部分

shell三剑客之sed

 

给配置文件中某一项配置加注释

shell三剑客之sed

 

sed命令-查询

查询相比较是最简单的,sed中的查询相比cat、more命令可以更加精细。

例如:

查询文件第二行内容(p即表示查询)

shell三剑客之sed

 

查询文件1-10行

shell三剑客之sed

 

注意:p查询命令需要和-n参数结合一起使用,如果不使用-n 会输出原来行内容及匹配行的内容,-n表示取消原来行输出

三、综合实例

用sed取出Linux网卡eth0的IP地址

shell三剑客之sed

 

将/etc/passwd文件中非单词字符替换成空格

shell三剑客之sed

 

问题?使用单引号or双引号区别?

◆ 双引号把双引号的内容输出出来;如果内容中有命令,变量等,会先把命令,变量解析出结果,然后再输出最终内容来。双引号内命令或变量的写法为命令或变量或$(命令或变量)。

◆ 单引号所见即所得,将单引号内的内容原样输出,阻止所有字符的转义。

推荐一个软件测试学习交流群:785128166,群里有分享的视频,面试指导,测试资料,还有思维导图、群里有视频,都是干货的,你可以下载来看。主要分享测试基础、接口测试、性能测试、自动化测试、TestOps架构、Jmeter、LoadRunner、Fiddler、MySql、Linux、简历优化、面试技巧以及大型测试项目实战视频资料。合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

公众号:程序员二黑, 关注后免费领取海量学习资料。

好东西要和朋友一起分享哦
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值