日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Sed教程(一):简介、环境设置、工作流程

發(fā)布時間:2025/3/21 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Sed教程(一):简介、环境设置、工作流程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Sed表示流編輯器(Stream Editor)的縮寫。這是一個簡單但功能強大的工具,分析文本,并無縫地轉(zhuǎn)換它。 SED是在1973-1974年由貝爾實驗室的李E. McMahon開發(fā)。如今,它運行在所有主要的操作系統(tǒng)。

McMahon編寫了一個通用的面向行的編輯器,它最終成為sed。sed借用語法和ed編輯許多有用的功能。自成立開始,就對正則表達式有所支持。sed接受來自文件以及管道的輸入。此外,它也可以接受來自標準輸入的數(shù)據(jù)流的輸入。

sed是自由軟件由基金會(FSF)維護,它是由GNU/ Linux分發(fā)。因此,它通常被稱為GNU sed的。對于新手用戶,sed語法看起來神秘。但是,一旦熟悉了它的語法,就可以使用sed的幾行腳本解決許多復雜的任務。

sed典型用途

sed可以有許多不同的方式使用,例如:

  • 文本替換
  • 選擇性打印的文本文件
  • 一個就地文本文件的編輯
  • 文本文件的非交互式的編輯等等。



本章介紹如何在GNU/ Linux系統(tǒng)中設置sed環(huán)境。

安裝使用軟件包管理器

一般情況下,sed默認提供在大多數(shù)的GNU/ Linux發(fā)行版。使用該命令,以確定其是否存在于您的系統(tǒng)上。如果沒有,那么在基于Debian GNU/ Linux可以使用apt包管理器,如下所示安裝sed:

[root]# sudo apt-get install sed

安裝后,確保sed可以通過命令行訪問。

[root]# sed --versio

執(zhí)行上面的代碼,會得到如下結(jié)果:

sed (GNU sed) 4.2.2 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.htmll>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Jay Fenlason, Tom Lord, Ken Pizzini, and Paolo Bonzini. GNU sed home page: <http://www.gnu.org/software/sed/>. General help using GNU software: <http://www.gnu.org/gethelp/>. E-mail bug reports to: <bug-sed@gnu.org>. Be sure to include the word "sed" somewhere in the "Subject:" field.

同樣,基于GNU/Linux的RPM安裝sed,用yum包管理器,如下所示:

[root]# yum -y install sed

安裝后,確保 sed 可以通過命令行訪問。

[root]# sed --version

執(zhí)行上面的代碼,會得到如下結(jié)果:

GNU sed version 4.2.1 Copyright (C) 2009 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, to the extent permitted by law. GNU sed home page: <http://www.gnu.org/software/sed/>. General help using GNU software: <http://www.gnu.org/gethelp/>. E-mail bug reports to:<bug-gnu-utils@gnu.org>. Be sure to include the word "sed" somewhere in the "Subject:" field.

從源代碼安裝

由于GNU sed是GNU計劃的一部分,它的源代碼都可以免費下載。我們已經(jīng)看到了如何使用軟件包管理器安裝sed。現(xiàn)在,了解如何從源代碼安裝sed。

下面安裝適用于任何的GNU/Linux軟件,和大多數(shù)其他可自由使用的程序。下面是安裝步驟:

第1步 - 從一個真實的地方下載的源代碼。命令行實用程序wget服務于這個目的。

[root]# wget ftp://ftp.gnu.org/gnu/sed/sed-4.2.2.tar.bz2

第2步 - 解壓縮和解壓下載的源代碼。

[root]# tar xvf sed-4.2.2.tar.bz2

第3步 - 更改進入目錄并運行配置。

[root]# ./configure

第4步 - 一旦成功完成,配置生成Makefile文件。編譯源代碼,使用 make命令。

[root]# make

第5步 - 可以運行測試套件,以確保構(gòu)建是干凈的。這是一個可選步驟。

[root]# make check

第6步 - 最后,安裝sed實用工具。請確保有超級用戶的權限。

[root]# sudo make install

我們已經(jīng)成功編譯并安裝sed。通過執(zhí)行 sed 命令,作如下驗證:

[root]# sed --version

執(zhí)行上面的代碼,會得到如下結(jié)果:

sed (GNU sed) 4.2.2 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.htmll>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Jay Fenlason, Tom Lord, Ken Pizzini, and Paolo Bonzini. GNU sed home page: <http://www.gnu.org/software/sed/>. General help using GNU software: <http://www.gnu.org/gethelp/>. E-mail bug reports to: <bug-sed@gnu.org>. Be sure to include the word "sed" somewhere in the "Subject:" field.


本章將解釋sed究竟如何工作的。要成為一個專家級的sed用戶,需要知道它的內(nèi)部執(zhí)行和結(jié)構(gòu)。sed遵循一個簡單的工作流:讀取,執(zhí)行和顯示。下圖描繪了工作流程。

讀取

sed從輸入流(文件,管道,或標準輸入)讀取,并將其存儲在其內(nèi)部的緩沖模式稱為緩沖行。

執(zhí)行

所有sed命令順序地對模式緩沖區(qū)使用。默認情況下,sed命令都適用于所有行(全局),除非指定行尋址。

顯示

sed發(fā)送(修改)的內(nèi)容到輸出數(shù)據(jù)流。在發(fā)送數(shù)據(jù)后,模式緩沖器是空的。這個過程一直重復,直到文件被耗盡。

示例

讓我們創(chuàng)建一個文本文件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顯示該文件的內(nèi)容quote.txt。這個例子模仿cat命令。

[jerry]$ sed '' quote.txt

當執(zhí)行上面的代碼,就會產(chǎn)生下面的結(jié)果。

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

在上面的例子中,quote.txt輸入文件名和在此之前,有一對單引號的暗示sed 命令。讓我們解讀此操作。

第一sed從輸入文件quote.txt讀取并將其存儲在它的模式緩沖區(qū)行。然后它適用sed關于模型緩沖區(qū)命令。在我們的例子中沒有sed 命令在那里,因此是對模式緩沖區(qū)未進行任何操作。最后刪除,并打印在標準輸出模式緩沖區(qū)中的內(nèi)容。是不是很簡單?

在下面的例子中,sed 接受來自標準輸入流輸入。

[jerry]$ sed ''

當執(zhí)行上面的代碼,它會提示我們輸入從標準輸入一些文字。因此,讓我們進入一個文本行,如下所示:

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

輸入該行后,當我們按下輸入產(chǎn)生以下結(jié)果:

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

要從使用的sed會話退出,按下鍵盤上的?ctrl-D?(^D).


from: http://www.yiibai.com/sed/sed_useful_recipes.html

總結(jié)

以上是生活随笔為你收集整理的Sed教程(一):简介、环境设置、工作流程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。