sed 工作流程

在本章中,我們將探討SED的工作原理。要熟練使用SED,必須先了解其內(nèi)部原理。 SED遵循簡單的工作流程:讀取(Read),執(zhí)行(Execute)和顯示(Display)。

Stream Editor Workflow
  • Read      - SED從輸入流(文件,管道或標(biāo)準(zhǔn)輸入)讀取一行并將其存儲在其內(nèi)部緩沖區(qū)中,該內(nèi)部緩沖區(qū)稱為模式緩沖區(qū)。

  • Execute - 將所有SED命令順序應(yīng)用到模式緩沖區(qū)。

  • Display  - 將(已修改的)內(nèi)容發(fā)送到輸出流。發(fā)送數(shù)據(jù)后,模式緩沖區(qū)將為空。

SED示例

讓我們創(chuàng)建一個文本文件 quote.txt ,其中包含著名作家Paulo Coelho的信息。

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

為了了解SED的工作流程,讓我們使用SED顯示文件quote.txt的內(nèi)容。本示例模擬 cat 命令。

$ sed '' quote.txt

執(zhí)行以上代碼后,將產(chǎn)生以下輸出。

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

在上面的示例中,quote.txt是輸入文件名,并且在此之前有一對單引號表示SED命令。讓我們了解其運(yùn)行流程:

首先,SED從輸入文件quote.txt中讀取一行并將其存儲在模式緩沖區(qū)中。

然后,它將SED命令應(yīng)用于模式緩沖區(qū)。在上面示例,沒有SED命令,因此對模式緩沖區(qū)不執(zhí)行任何操作。

最后,它刪除并在標(biāo)準(zhǔn)輸出上打印模式緩沖區(qū)的內(nèi)容。

在以下示例中,SED接受來自標(biāo)準(zhǔn)輸入流的輸入。

$ sed ''

執(zhí)行以上代碼后,將產(chǎn)生以下輸出。

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)。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清