在本章中,无涯教程将探讨SED的工作原理。要熟练使用SED,必须先了解其内部原理。 SED遵循简单的工作流程:读取(Read),执行(Execute)和显示(Display)。
Read - SED从输入流(文件,管道或标准输入)读取一行并将其存储在其内部缓冲区中,该内部缓冲区称为模式缓冲区。
Execute - 将所有SED命令顺序应用到模式缓冲区。
Display - 将(已修改的)内容发送到输出流。发送数据后,模式缓冲区将为空。
让无涯教程创建一个文本文件 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)。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
Spring Cloud 微服务项目实战 -〔姚秋辰(姚半仙)〕