最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux命令sed(流編輯器)的用法詳解

 更新時間:2022年09月08日 10:09:20   作者:IT利刃出鞘  
sed編輯器要比交互式編輯器快得多,可以快速完成對數(shù)據(jù)的自動修改,比如:替換,這篇文章主要介紹了Linux命令sed(流編輯器)使用/實例,需要的朋友可以參考下

簡介

說明

本文介紹Linux的sed流編輯器的用法。

sed編輯器要比交互式編輯器快得多,可以快速完成對數(shù)據(jù)的自動修改,比如:替換。

sed編輯器介紹

sed編輯器被稱作流編輯器(stream editor)。在交互式文本編輯器(比如vim)中,用鍵盤命令來交互式地編輯數(shù)據(jù)中的文本。和交互式文本編輯器相反,流編輯器在處理數(shù)據(jù)前基于預先提供的規(guī)則來編輯數(shù)據(jù)。

sed編輯器會執(zhí)行下列操作。

  • 一次從輸入中讀取一行數(shù)據(jù)。
  • 根據(jù)所提供的編輯器命令匹配數(shù)據(jù)。
  • 按照命令修改流中的數(shù)據(jù)。
  • 將新的數(shù)據(jù)輸出到STDOUT。

流編輯器將所有命令與一行數(shù)據(jù)匹配完畢后,它會讀取下一行數(shù)據(jù)并重復這個過程。在流編輯器處理完流中的所有數(shù)據(jù)行后,它就會終止。

選項與命令

格式

sed [選項] [腳本命令] 文件名

選項

  • -n

使用安靜silent模式。在一般sed的用法中,所有來自stdin的內容一般都會被列出到屏幕上。但如果加上-n參數(shù)后,則只有經(jīng)過sed特殊處理的那一行(或者動作)才會被列出來

  • -e

直接在指令列模式上進行 sed 的動作編輯

  • -f

直接將 sed 的動作寫在一個文件內,-f filename則可以執(zhí)行filename內的sed命令

  • -r

讓sed命令支持擴展的正則表達式(默認是基礎正則表達式)

  • -i

直接修改文件中內容。(如果不加-i,則由屏幕輸出,不修改原文件)

命令

  • a\
    • 在當前行下面插入文本。
  • i\
    • 在當前行上面插入文本。
  • c\
    • 把選定的行改為新的文本。
  • d
    • 刪除,刪除選擇的行。
  • D
    • 刪除模板塊的第一行。
  • s
    • 替換指定字符
  • g
    • 獲得內存緩沖區(qū)的內容,并替代當前模板塊中的文本。
  • G
    • 獲得內存緩沖區(qū)的內容,并追加到當前模板塊文本的后面。
  • h
    • 拷貝模板塊的內容到內存中的緩沖區(qū)。
  • H
    • 追加模板塊的內容到內存中的緩沖區(qū)。
  • l
    • 列表不能打印字符的清單。
  • n
    • 讀取下一個輸入行,用下一個命令處理新的行而不是用第一個命令。
  • N
    • 追加下一個輸入行到模板塊后面并在二者間嵌入一個新行,改變當前行號碼。
  • p
    • 打印模板塊的行。
  • P
    • 打印模板塊的第一行。
  • q
    • 退出Sed。
  • b label
    • 分支到腳本中帶有標記的地方,如果分支不存在則分支到腳本的末尾。
  • t label
    • if分支,從最后一行開始,條件一旦滿足或者T,t命令,將導致分支到帶有標號的命令處,或者到腳本的末尾。
  • T label
    • 錯誤分支,從最后一行開始,一旦發(fā)生錯誤或者T,t命令,將導致分支到帶有標號的命令處,或者到腳本的末尾。
  • r file
    • 從file中讀行。
  • w file
    • 寫并追加模板塊到file末尾。
  • W file
    • 寫并追加模板塊的第一行到file末尾。
  • !
    • 表示后面的命令對所有沒有被選定的行發(fā)生作用。
  • =
    • 打印當前行號碼。
  • #
    • 把注釋擴展到下一個換行符以前。

替換命令(s)

命令格式

[address]s/pattern/replacement/flags
  • address
    • 表示指定要操作的具體行
  • pattern
    • 需要被替換的內容
  • replacement
    • 要替換的新內容。
  • flags
    • 操作標記符

通配符(正則表達式)

sed支持正則表達式

示例:將單詞“like”替換為“hello”,其他帶like的單詞不變。

方法:

echo 'alike like liker' | sed 's/\blike\b/hello/g'

結果

示例

準備一個測試文件data1.txt,內容如下:

The quick red fox jumps over the lazy dog.
The quick red fox jumps over the lazy dog.
The quick red fox jumps over the lazy dog.
The quick red fox jumps over the lazy dog.

1.直接替換原文件內容

備注:建議先備份一下:cp data1.txt data1.txt.bak

需求:將red改為yellow。

方法:

sed -i 's/red/yellow/g' data1.txt

結果(查看data1.txt)

cat data1.txt

The quick yellow fox jumps over the lazy dog.
The quick yellow fox jumps over the lazy dog.
The quick yellow fox jumps over the lazy dog.
The quick yellow fox jumps over the lazy dog.

2.在命令行上使用多個命令

需求:將red改為yellow,dog改為cat。

方法:

sed -e 's/red/yellow/g; s/dog/cat/g' data1.txt

結果(上邊命令執(zhí)行結束后直接輸出如下內容)

The quick yellow fox jumps over the lazy cat.
The quick yellow fox jumps over the lazy cat.
The quick yellow fox jumps over the lazy cat.
The quick yellow fox jumps over the lazy cat.

3.從標準輸入獲取數(shù)據(jù)

需求:將“This is a big test”中的“big”改為“small”

方法:

echo 'This is a big test' | sed 's/big/small/g'

結果(上邊命令執(zhí)行結束后直接輸出如下內容)

This is a small test

如下圖所示:

到此這篇關于Linux命令sed(流編輯器)使用/實例的文章就介紹到這了,更多相關Linux命令sed內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Shell實現(xiàn)的iptables管理腳本分享

    Shell實現(xiàn)的iptables管理腳本分享

    這篇文章主要介紹了Shell實現(xiàn)的iptables管理腳本分享,本文腳本實現(xiàn)了添加、刪除、查看、停止、啟動等,需要的朋友可以參考下
    2014-12-12
  • Shell腳本中調用、引用、包含另外一個腳本文件的兩種方法

    Shell腳本中調用、引用、包含另外一個腳本文件的兩種方法

    這篇文章主要介紹了Shell腳本中調用、引用、包含另外一個腳本文件的兩種方法,本文介紹的兩種方法適合在當前目錄下,需要的朋友可以參考下
    2014-12-12
  • linux刪除大量文件的6種方法

    linux刪除大量文件的6種方法

    這篇文章主要介紹了linux刪除大量文件的6種方法,需要的朋友可以參考下
    2014-02-02
  • Bash Shell中忽略大小寫的設置方法

    Bash Shell中忽略大小寫的設置方法

    這篇文章主要介紹了Bash Shell中忽略大小寫的設置方法,本文還講解了其它的一些方便輸入命令的設置,如關閉顯示隱藏文件、只按一次TAB鍵、搜索歷史命令等技巧,需要的朋友可以參考下
    2015-04-04
  • Linux Shell腳本面試25問集合

    Linux Shell腳本面試25問集合

    這篇文章主要介紹了Linux Shell腳本面試25問,方便需要的朋友
    2015-10-10
  • Shell腳本8種字符串截取方法總結

    Shell腳本8種字符串截取方法總結

    這篇文章主要介紹了Shell腳本8種字符串截取方法總結,每個方法給出了實例代碼和操作結果,一目了然,需要的朋友可以參考下
    2014-10-10
  • shell 操作釘釘機器人實現(xiàn)告警提醒的方法

    shell 操作釘釘機器人實現(xiàn)告警提醒的方法

    這篇文章主要介紹了shell 操作釘釘機器人實現(xiàn)告警提醒的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • Linux查看系統(tǒng)時間的詳細方法總結

    Linux查看系統(tǒng)時間的詳細方法總結

    系統(tǒng)時間是計算機硬件和軟件運行的基礎,在Linux系統(tǒng)中,查看系統(tǒng)時間是一項基本任務,本文將從多個方面介紹Linux查看系統(tǒng)時間的詳細方法,需要的朋友可以參考下
    2023-09-09
  • Shell中特殊字符的用法總結大全

    Shell中特殊字符的用法總結大全

    這篇文章主要給大家總結了關于Shell中特殊字符的相關資料,文中包括分好、&、#、!、$、大于號、單雙引號等等一系列特殊字符的用法,通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-08-08
  • Linux用戶和用戶組管理方法介紹

    Linux用戶和用戶組管理方法介紹

    這篇文章介紹了Linux用戶和用戶組管理的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06

最新評論

巧家县| 若尔盖县| 贞丰县| 广宗县| 江西省| 西安市| 青铜峡市| 海林市| 尤溪县| 昆明市| 聂拉木县| 资源县| 福建省| 右玉县| 聊城市| 青铜峡市| 罗江县| 彰化县| 遵化市| 普兰县| 樟树市| 威信县| 潞西市| 周至县| 永福县| 钦州市| 休宁县| 赣榆县| 广德县| 长子县| 桐梓县| 乐陵市| 曲阜市| 成都市| 平原县| 左权县| 兴仁县| 龙岩市| 锦州市| 宁强县| 周宁县|