背景

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双引号区别?

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

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

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

转发到朋友圈是最高的赞赏

关注柠檬班微信公众号

领取100G软件测试资料

让软件测试学习变得更简单!

Shell脚本如何备份数据库?扫码即可获取解题视频

一言不合就给我在看

linux sed删除指定行_shell三剑客之sed!相关推荐

  1. sed删除指定行的上一行

    有这么一个需求,需要从若干个apache虚机配置文件中删除一段内容,类似下面这种 <VirtualHost *> ServerName abc.com DocumentRoot /home ...

  2. sed shell 替换空格_shell三剑客之sed!

    背景 sed(Stream Editor 流编辑器),作为三剑客的一份子,主要的功能有增删改查. 为什么称之为"流"编辑器呢? 大家知道:在Linux文件系统中,一切都可以作为文件 ...

  3. linux中 删除指定行多行sed命令

    sed命令常用到的两个选项: -i : 直接在文件上编辑 (edit files in place) -e[默认选项]:只在命令行输出,而文件不改变 (add the script to the co ...

  4. sed 插入多行_Linux三剑客之sed

    sed命令用法小记 版本:CentOS7 ▼  ▼  ▼  ▼  ▼   ▼  ▼  ▼  ▼ 好久没更新文章了,项目的事情太多,总得给自己的懒惰找个借口,哈哈~ 话不多说进入正题 创建测试数据 [a ...

  5. c语言从文件删除指定行,C++操作文件行(读取,删除,修改指定行)

    /******************************************************** Copyright (C), 2016-2018, FileName:main Au ...

  6. linux批量删除指定名称的文件夹

    linux批量删除指定名称的文件夹 find /root/baseline_dataset -name .ipynb_checkpoints | xargs rm -rf find # find 命令 ...

  7. pandas 如何删掉第一行_pandas删除指定行详解

    pandas删除指定行详解 在处理pandas的DataFrame中,如果想像excel那样筛选,只要其中的某一行或者几行,可以使用isin()方法来实现,只需要将需要的行值以列表方式传入即可,还可传 ...

  8. python对excel删除指定行

    可以使用Python的第三方库pandas来操作Excel文件. 首先,需要使用pandas的read_excel()函数读取Excel文件: import pandas as pd df = pd. ...

  9. pandas 小技巧——如何删除行或者列、根据条件删除指定行或者列

    使用df.drop DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, e ...

最新文章

  1. python——元素列表基础
  2. 20144306《网络对抗》Web基础
  3. JAVA——使用Spring Boot Scheduled时注入simple-robot Bot解决方案
  4. lte核心网由哪些设备组成_一整套无线智能家居,是由哪些设备组成?这份清单告诉你答案...
  5. 搜索引擎——反向索引原理揭秘及手写ik分词器
  6. Centos/ubuntu配置SVN服务
  7. 深入浅出mysql gtid_Mysql 5.7 Gtid内部学习(九) 实际案例(一)
  8. java判断safari_js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本
  9. 64位驱动签名工具64Signer
  10. ubuntu安装搜狗拼音输入法
  11. 剑指offer 面试题46 python版+解析:把数字翻译成字符串
  12. 独立性检验的基本思想和初步应用
  13. 【沃顿商学院学习笔记】公益创业——07现实可行性细节及成本表Operations RealitiesCost Table
  14. apex老是显示匹配服务器失败,Apex英雄与服务器不同步怎么办-服务器连接超时怎么办 - Iefans...
  15. 公民身份证校验规则最新最全最严格(包含最后一位校验码校验)
  16. 龙芯 python_html页面转PDF、图片操作记录,Vue项目入门实例
  17. Linux 下安装 oracle 19c(linux版本 centos 7)
  18. 新海诚画集[秒速5センチメートル:樱花抄·铁道]...
  19. OpenGL ES之变换反馈Transform Feedback的使用流程
  20. 小议智能的测试与评价

热门文章

  1. 洛谷p2704 炮兵阵地
  2. 如何给 mongodb 设置密码
  3. 最具戏剧性的分析诊断案例——十分钟锁定数据库性能“元凶”
  4. 最新hosts,更新hosts,可用
  5. 多线程编程2-NSOperation
  6. C# 微支付退款申请接口 V3.3.6
  7. 初始Zookeeper
  8. 超级简易法上传本地文件到github上
  9. 013,spring boot下JedisCluster客户端的配置,连接Redis集群
  10. 伯纳德•罗森伯格先生参加华为技术2016首届国际光电连接技术研讨会