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

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

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

簡介

說明

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

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

sed編輯器介紹

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

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

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

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

選項(xiàng)與命令

格式

sed [選項(xiàng)] [腳本命令] 文件名

選項(xiàng)

  • -n

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

  • -e

直接在指令列模式上進(jìn)行 sed 的動(dòng)作編輯

  • -f

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

  • -r

讓sed命令支持?jǐn)U展的正則表達(dá)式(默認(rèn)是基礎(chǔ)正則表達(dá)式)

  • -i

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

命令

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

替換命令(s)

命令格式

[address]s/pattern/replacement/flags
  • address
    • 表示指定要操作的具體行
  • pattern
    • 需要被替換的內(nèi)容
  • replacement
    • 要替換的新內(nèi)容。
  • flags
    • 操作標(biāo)記符

通配符(正則表達(dá)式)

sed支持正則表達(dá)式

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

方法:

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

結(jié)果

示例

準(zhǔn)備一個(gè)測試文件data1.txt,內(nèi)容如下:

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.直接替換原文件內(nèi)容

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

需求:將red改為yellow。

方法:

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

結(jié)果(查看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.在命令行上使用多個(gè)命令

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

方法:

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

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

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.從標(biāo)準(zhǔn)輸入獲取數(shù)據(jù)

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

方法:

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

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

This is a small test

如下圖所示:

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

相關(guān)文章

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

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

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

    Shell腳本中調(diào)用、引用、包含另外一個(gè)腳本文件的兩種方法

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

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

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

    Bash Shell中忽略大小寫的設(shè)置方法

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

    Linux Shell腳本面試25問集合

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

    Shell腳本8種字符串截取方法總結(jié)

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

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

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

    Linux查看系統(tǒng)時(shí)間的詳細(xì)方法總結(jié)

    系統(tǒng)時(shí)間是計(jì)算機(jī)硬件和軟件運(yùn)行的基礎(chǔ),在Linux系統(tǒng)中,查看系統(tǒng)時(shí)間是一項(xiàng)基本任務(wù),本文將從多個(gè)方面介紹Linux查看系統(tǒng)時(shí)間的詳細(xì)方法,需要的朋友可以參考下
    2023-09-09
  • Shell中特殊字符的用法總結(jié)大全

    Shell中特殊字符的用法總結(jié)大全

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

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

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

最新評(píng)論

彩票| 吉林市| 黑水县| 连山| 永定县| 鲁甸县| 卓尼县| 手游| 吴江市| 虎林市| 米脂县| 石阡县| 万年县| 岐山县| 延寿县| 冷水江市| 顺昌县| 察隅县| 阿拉善盟| 观塘区| 静海县| 南靖县| 芜湖县| 蚌埠市| 莱阳市| 平度市| 孟津县| 泸水县| 达拉特旗| 溧水县| 闸北区| 逊克县| 连云港市| 亚东县| 澜沧| 巩留县| 寿光市| 奈曼旗| 太仆寺旗| 石城县| 阿克苏市|