shell脚本详解(十)——sed编辑器的使用方法

  • 一、sed编辑器
  • 二、sed编辑器工作流程
    • 1、读取:
    • 2、执行:
    • 3、显示:
    • 4、注:
  • 三、命令格式
  • 四、常用选项
  • 五、常用操作
  • 六、使用地址
    • sed编辑器有2种寻址方式:
  • 七、删除行
  • 八、替换
    • 1、格式
    • 2、4种替换标记
  • 九、插入

一、sed编辑器

  • sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。
  • sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要么存储在一个命令文本文件中。

二、sed编辑器工作流程

1、读取:

  • sed从输入流 (文件、管道、标准输入) 中读取一行内容并存储到临时的缓冲区中(又称模式空间,pattern space)

2、执行:

  • 默认情况下,所有的sed命令都在模式空间中顺序地执行,除非指定了行的地址,否则sed命令将会在所有的行上依次执行。

3、显示:

  • 发送修改后的内容到输出流。在发送数据后,模式空间将会被清空。在所有的文件内容都被处理完成之前,上述过程将重复执行,直至所有内容被处理完。

4、注:

  • 在所有的文件内容都被处理完成之前,上述过程将重复执行,直至所有内容被处理完。
  • 默认情况下所有的sed命令都是在模式空间内执行的,因此输入的文件并不会发生任何变化,除非是用重定向存储输出。

三、命令格式

四、常用选项

选项 说明
-e或- -expression= 表示用指定命令来处理输入的文本文件,只有一个操作命令时可省略,一 般在执行多个操作命令使用
f或- -file= 表示用指定的脚本文件来处理输入的文本文件
h或- -help 显示帮助
-n、- -quiet或silent 禁止sed编辑器输出,但可以与p命令一起使用完成输出
-i 直接修改目标文本文件

五、常用操作

操作 说明
s 替换,替换指定字符
d 删除,删除选定的行
a 增加,在当前行下面增加一行指定内容
i 插入,在选定行,上面插入一行指定内容
c 替换,将选定行替换为指定内容
y 字符转换,转换前后的字符长度必须相同
p 打印,如果同时指定行,表示打印指定行;如果不指定行,则表示打印所有内容;如果有非打印字符,则以ASCII码输出。其通常与“-n”选项一起使用
= 打印行号
l (小写L) 打印数据流中的文本和不可打印的ASCII字符(比如结束符$、制表符\t)

六、使用地址

sed编辑器有2种寻址方式:

  • 以数字形式表示行区间
  • 用文本模式来过滤出行

七、删除行

八、替换

1、格式

2、4种替换标记

  • 数字:表明新字符串将替换第几处匹配的地方
  • g:表明新字符将会替换所有匹配的地方
  • p:打印与替换命令匹配的行,与-n一起使用
  • w 文件:将替换的结果写到文件中


九、插入

shell脚本详解(十)——sed编辑器的使用方法相关推荐

  1. shell脚本详解(十二)——Here Document免交互及Expect自动化交互

    shell脚本详解(十二)--Here Document免交互及Expect自动化交互 一.Here Document 免交互 1.格式 2.注意事项 3.免交互方式实现对行数的统计,将要统计的内容置 ...

  2. shell脚本详解(九)——一键部署DNS正向解析

    shell脚本详解(九)--一键部署DNS正向解析 一.DNS正向解析 二.shell脚本一键部署 一.DNS正向解析 详情请点击:DNS正向解析 二.shell脚本一键部署 #!/bin/bash ...

  3. shell脚本详解(七)——正则表达式、sort、uniq、tr

    shell脚本详解(七)--正则表达式.sort.uniq.tr 一.排序命令--sort 1.格式 2.常用选项 3.示例 二.去除重复行操作命令--uniq 1.格式 2.常用选项 3.示例 三. ...

  4. shell脚本详解(十一)——awk文本和数据处理编程语言

    shell脚本详解(十一)--awk文本和数据处理编程语言 一.awk命令 – 文本和数据进行处理的编程语言 1.工作原理 2.命令格式 3.awk常见的内建变量(可直接使用) 4.按行输出文本 5. ...

  5. shell脚本详解(六)——数组简介和排序算法

    shell脚本详解(六)--数组简介和排序算法 一.数组 1.数组的定义方法 ①.方式一: ②.方式二: ③.方式三: ④.方式四: 2.数组包括的数据类型 3.获取数组长度 4.获取数据列表 5.读 ...

  6. shell脚本详解(四)——循环语句之while循环和until循环(附加例题及解析)

    shell脚本详解(四)--循环语句之while循环和until循环 一.until循环 1.循环结构 2.例题 二.while循环 1.循环结构 2.例题(每个人的思路不同,会导致脚本内容不一样,这 ...

  7. shell脚本详解(三)——循环语句之for循环

    shell脚本详解(三)--循环语句之for循环 一.echo命令 – 输出字符串或提取Shell变量的值 1.格式 2.常用参数 3.示例 二.for循环语句 1.for循环结构 2.例题 ①.例题 ...

  8. shell脚本详解(二)——条件测试、if语句和case分支语句

    shell脚本详解(二)--条件测试.if语句和case分支语句 一.条件测试 1.test命令 2.文件测试 3.整数值比较 4.字符串比较 5.逻辑测试 二.if条件语句 1.单分支 2.双分支 ...

  9. shell脚本详解(一)——初学shell脚本必看哦

    shell脚本详解 一.Shell脚本概述 1.1.shell脚本的概念 1.2.shell脚本应用场景 1.3.shell脚本能干什么 1.4. shell的作用--命令翻译器,"翻译官& ...

最新文章

  1. linux环境编程-- ftok()函数
  2. 转载:JQuery制作的选项卡改进版
  3. 计算机网络项目——最小网元设计(阶段一)
  4. 【Python爬虫】爬虫程序的简单处理过程
  5. amr 转mp3 java_JAVA 音频转换AMR 转MP3,OS,Linux cent os 7
  6. 七、Forword(请求转发)与Redirect(重定向)
  7. android textview 必填,在android中如何使用Html渲染的方式实现必填项前面的*号
  8. python seaborn 散点图矩阵_Kaggle、Python数据可视化seaborn(四):散点图
  9. 银行突发事件演练方案_湘阴星龙村镇银行开展防抢劫应急预案实战演练
  10. lufylegend引擎制作接水果小游戏
  11. fatal error LNK1123 错误解决方法
  12. nosqlbooster 延长试用日期
  13. python小组项目总结报告_项目总结报告多篇汇总
  14. 达人评测 iPad Pro 2021怎么样
  15. 笔记本 - 常用快捷键 word 笔记
  16. 对于程序员“中年危机”的一点思考
  17. 如何使用mac电脑远程你的windows电脑
  18. 【自动化测试】自动化测试框架那些事儿
  19. [附源码]Python计算机毕业设计大学生社团管理系统
  20. dubbo-admin安装以及dubbo-admin简单使用

热门文章

  1. 【字节跳动背后的音视频技术揭秘】
  2. Facebook:对比COPA 与CUBIC,BBR v1在拥塞控制及视频质量的表现
  3. 即构科技张靖雨:以最优的用户体验为第一评估要素
  4. 音视频技术开发周刊 63期
  5. 人工智能在视频应用领域的探索
  6. Java基础之正则表达式
  7. 浅谈如何搭建知识体系
  8. 腾讯企业IT部安全运营中心总监蔡晨:十年沉淀,腾讯iOA为企业安全保驾护航...
  9. 高性能、高并发、高扩展性和可读性的网络服务器架构:StateThreads
  10. 基于Session共享的单点登录或通行证系统方案