Sed - 工作原理

Sed - 工作原理 首页 / Sed入门教程 / Sed - 工作原理

在本章中,无涯教程将探讨SED的工作原理。要熟练使用SED,必须先了解其内部原理。 SED遵循简单的工作流程:读取(Read)执行(Execute)显示(Display)

Stream Editor Workflow
  • Read      - SED从输入流(文件,管道或标准输入)读取一行并将其存储在其内部缓冲区中,该内部缓冲区称为模式缓冲区。

  • Execute - 将所有SED命令顺序应用到模式缓冲区。

  • Display  - 将(已修改的)内容发送到输出流。发送数据后,模式缓冲区将为空。

SED示例

让无涯教程创建一个文本文件 quote.txt ,其中包含著名作家Paulo Coelho的信息。

[jerry]$vi quote.txt 
There is only one thing that makes a dream impossible to achieve: the fear of failure. 
 - Paulo Coelho, The Alchemist

为了了解SED的工作流程,使用SED显示文件quote.txt的内容。本示例模拟 cat 命令。

[jerry]$sed '' quote.txt

执行以上代码后,将产生以下输出。

There is only one thing that makes a dream impossible to achieve: the fear of failure. 

在上面的示例中,quote.txt是输入文件名,并且在此之前有一对单引号表示SED命令。了解其运行流程:

    首先,SED从输入文件quote.txt中读取一行并将其存储在模式缓冲区中。

    然后,它将SED命令应用于模式缓冲区。在上面示例,没有SED命令,因此对模式缓冲区不执行任何操作。

    最后,它删除并在标准输出上打印模式缓冲区的内容。

在以下示例中,SED接受来自标准输入流的输入。

[jerry]$sed '' 

执行以上代码后,将产生以下输出。

There is only one thing that makes a dream impossible to achieve: the fear of failure. 
There is only one thing that makes a dream impossible to achieve: the fear of failure.

在这里,第一行通过键盘输入,第二行是SED生成的输出。要退出SED会话,请按ctrl-D(^ D)。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

RPC实战与核心原理 -〔何小锋〕

Serverless入门课 -〔蒲松洋(秦粤)〕

Go 并发编程实战课 -〔晁岳攀(鸟窝)〕

跟着高手学复盘 -〔张鹏〕

基于人因的用户体验设计课 -〔刘石〕

Spring Cloud 微服务项目实战 -〔姚秋辰(姚半仙)〕

快手 · 移动端音视频开发实战 -〔展晓凯〕

手把手教你落地DDD -〔钟敬〕

快速上手C++数据结构与算法 -〔王健伟〕

好记忆不如烂笔头。留下您的足迹吧 :)