sed详解

之前,写过一篇grep正则表达式的文章。这篇记录下与grep命令具有类似相同功能的两个命令,sed和awk。grep是文本搜索工具,sed是非交互式流编辑器,awk是一种文本格式化工具。

sed是一个非交互式的流编辑器。所谓非交互式,是指使用sed只能在命令行下输入编辑命令来编辑文本,然后在屏幕上查看输出;而所谓流编辑器,是指sed每次只从文件(或输入)读入一行,然后对该行进行指定的处理,并将结果输出到屏幕(除非取消了屏幕输出又没有显式地使用打印命令),接着读入下一行。整个文件像流水一样被逐行处理然后逐行输出。

下面我们看一下sed的工作过程。

sed不是在原输入上直接进行处理的,而是先将读入的行放到缓冲区中,对缓冲区里的内容进行处理,处理完毕后也不会写回原文件(除非用shell的输出重定向来保存结果),而是直接输出到屏幕上。sed运行过程中维护着两个缓冲区,一个是活动的“模式空间(pattern space)”,另一个是起辅助作用的“暂存缓冲区(holding space)”。一般情况下,每当运行sed,sed首先把第一行装入模式空间,进行处理后输出到屏幕,然后将第二行装入模式空间替换掉模式空间里原来的内容,然后进行处理,以此类推。

如图:

sed命令格式sed [OPTION]... {script-only-if-no-other-script} [input-file]...

OPTION:-r: 支持扩展正则表达式;

-n: 静默模式;

-e script

sed 第n行后加入_sed详解相关推荐

  1. mysql命令导入导出数据库_MYSQL命令行导入导出数据库详解

    Mysql命令行导入数据库: 1,将要导入的.sql文件移至bin文件下,这样的路径比较方便 2,同上面导出的第1步 3,进入MySQL:mysql -u 用户名 -p 如我输入的命令行:mysql ...

  2. python多维数组添加元素_numpy中三维数组中加入元素后的位置详解

    今天做数据处理时,遇到了从三维数组中批量加入二维数组的需求.其中三维数组在深度学习的特征数据处理时经常会使用到,所以读者有必要对该小知识点做到清楚了解并掌握.现对三维数组中的元素位置结合代码做详细归纳 ...

  3. [总结]FFMPEG命令行工具之ffmpeg详解

    目录 0 前言 1 语法 Synopsis 2 描述 Description 3 详细描述 Detailed description 3.1 滤镜 Filtering 3.1.1 简单滤镜图 Simp ...

  4. [总结]FFMPEG命令行工具之ffplay详解

    目录 0 前言 1 语法 Synopsis 2 描述 Description 3 选项 Options 3.1 流指定器 Stream specifiers 3.2 通用选项 Generic opti ...

  5. python中返回上一步操作的代码_Pycharm代码跳转后退回操作详解

    用Pycharm写Python代码有一段时间了,最近发现了一个Pycharm的一个小技巧想分享给大家,下面这篇文章主要给大家介绍了关于Pycharm代码跳转该如何回退的相关资料,文中介绍的非常详细,对 ...

  6. webpack打包后引用cdn的js_利用CDN加速react webpack打包后的文件详解

    此文不介绍webpack基本配置,如果对基本配置有疑问请查阅官方文档. 1.配置webpack.config.js 将output.publicPath改成上传到的cdn地址, 例(对应上面上传配置) ...

  7. php shell,php命令行写shell实例详解

    php 可以像java perl python 那样运行,今天发现如果我早早知道这个,或许我不会去学习java 和 python 当年学java不过为了一个程序放在服务器上,不停的跑啊跑,原来 php ...

  8. 计算机重装系统恢复数据,电脑重装系统后数据恢复图文详解

    电脑重装系统后怎么恢复数据呢?重装系统会格式化C盘,让C盘和桌面所有文件都消失.因此,如果重装系统win10前没有注意好数据备份,那么重装系统后将会出现数据丢失的问题,当遇到这个问题时该怎么办呢?下面 ...

  9. oracle 误删除表数据,Oracle误删除表数据后的数据恢复详解

    Oracle误删除表数据后的恢复详解 测试环境: SYSTEM:IBM AIX 5L                         Oracle Version:10gR2 1. undo_rete ...

最新文章

  1. 分布式服务框架原理与实践pdf_深度解析微服务治理的技术演进和架构实践
  2. 【树型DP】BZOJ1564 二叉查找树(noi2009)
  3. 网络学习(七)Windows XP系统之纯净版安装
  4. springboot mail插件/JavaMailSenderImpl 发邮件。163网易企业邮箱调用的坑。
  5. ASP.NET Core Web API 最小化项目
  6. python字符串转date,在Python上将字符串转换为Date类型
  7. circlegan_CycleGAN原理以及代码全解析
  8. Javascript的数组操作(笔记)
  9. double取两位小数_Java语言中:float、double数据类型在内存中是如何存储的
  10. 关于 Profile
  11. 概率论:均值、标准差、方差、协方差、矩
  12. fedora安装java
  13. 城建坐标与经纬度转换工具
  14. [超详细] 2021支付宝集五福【攻略】来了-附自动化脚本
  15. EndNote设置自动导入文献
  16. Android NFC应用小木公交
  17. UML 有几种关系图标
  18. MT7603处理器性能,MT7603 wifi芯片介绍
  19. Angular Img标签自定义请求header Authorization
  20. 服务器-Squid代理服务器及应用

热门文章

  1. 电脑怎么用照片做视频?哪个软件简单好用?3步教你轻松制作!
  2. 安装ubuntu系统时硬盘分区方案
  3. 关于elementui的table固定高度出现的表格高度有空缺
  4. C#Winform中窗体的美化
  5. win10 加ip地址映射
  6. Win7下硬盘响声大的解决办法
  7. 艾永亮:英语教育往事:一部商业的进化史
  8. 2018中国十大品牌在线英语培训机构排行榜暴风来袭
  9. Python机器学习:泰坦尼克号获救预测一
  10. 2.Go语言环境配置