美文网首页
shell三剑客之sed!

shell三剑客之sed!

作者: 0fdd04f992cd | 来源:发表于2019-10-14 20:57 被阅读0次

背景

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

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

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

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

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

sed语法格式

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

◆ stdout | sed [option] “pattern command”

◆ sed [option] “pattern command” file

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

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


选项


pattern匹配模式

sed命令-增加&删除


练习:

单行插入

多行插入

删除内容


sed命令-修改

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

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


练习:

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

修改源文件内容

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

sed分组替换功能

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

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

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

sed命令-查询

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

例如:

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

查询文件1-10行

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


综合实例

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

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


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

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

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

本文由柠檬班歪歪原创,转载需注明出处!

相关文章

  • sed的认识和基本应用

    1.Sed 介绍 sed全名叫stream deitor,流编辑器。作为shell文本处理三剑客之一的sed,其不...

  • Shell编程、part5

    本节内容 1. 三剑客简介 2. sed命令详解 3. awk命令详解 文本处理三剑客 在 Shell 下使用这些...

  • shell三剑客之sed

    学习的内容来自于Linux Shell脚本攻略(2) 内容只做了简单的记录,方便自己学习 shell 命令查询地址...

  • shell三剑客之sed!

    背景 sed(Stream Editor 流编辑器),作为三剑客的一份子,主要的功能有增删改查。 为什么称之为“流...

  • 2019-06-19

    一. 三剑客sed命令 sed - stream editor for filtering and transfo...

  • Linux-grep、sed、awk之awk命令

    参考:Linux三剑客(grep sed awk) 之 awk[https://www.jianshu.com/p...

  • shell三剑客

    shell的三剑客 grep用来文本搜索,支持正则表达式 awk用来数据切片 sed用来修改文件数据 grep g...

  • shell之sed

    sed的处理模式是对每一行都进行处理,而且会先输出原行再输出匹配的行: 1. -n :只打印模式匹配行 注意:不加...

  • shell之sed

    sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed...

  • Linux云计算学习笔记day17

    Linux三剑客-sed sed命令执行过程https://www.processon.com/view/link...

网友评论

      本文标题:shell三剑客之sed!

      本文链接:https://www.haomeiwen.com/subject/gdedmctx.html