sed命令正則表達(dá)式高級(jí)應(yīng)用,sed與awk結(jié)合使用技巧sed正則表達(dá)式性能優(yōu)化

sed命令正則表達(dá)式高級(jí)應(yīng)用,sed與awk結(jié)合使用技巧sed正則表達(dá)式性能優(yōu)化 觀賞魚(yú)市場(chǎng)(混養(yǎng)魚(yú)) 第1張

sed命令正則表達(dá)式高級(jí)應(yīng)用

一、分組與后向引用

  • 分組的概念與作用
    • 在sed的正則表達(dá)式中,括號(hào)()用于分組操作。分組可以將多個(gè)字符或表達(dá)式視為一個(gè)整體進(jìn)行處理,并且可以在后續(xù)操作中通過(guò)后向引用再次使用分組匹配到的內(nèi)容。例如,正則表達(dá)式(\w+)\s+\1,其中(\w+)是一個(gè)分組,\1是對(duì)這個(gè)分組的后向引用,表示匹配一個(gè)單詞后緊接著一個(gè)或多個(gè)空白字符然后再匹配相同的單詞。這樣就可以用于查找重復(fù)出現(xiàn)的單詞等操作。

二、使用擴(kuò)展正則表達(dá)式(-r選項(xiàng))進(jìn)行高級(jí)匹配

  • 擴(kuò)展正則表達(dá)式的優(yōu)勢(shì)
    • sed默認(rèn)使用基本正則表達(dá)式語(yǔ)法,但是當(dāng)使用 -r選項(xiàng)時(shí),可以使用擴(kuò)展正則表達(dá)式語(yǔ)法。擴(kuò)展正則表達(dá)式中一些元字符不需要進(jìn)行轉(zhuǎn)義,使表達(dá)式更加簡(jiǎn)潔直觀。例如,在基本正則表達(dá)式中要匹配多個(gè)連續(xù)的數(shù)字可能需要[0-9][0-9]*,而在擴(kuò)展正則表達(dá)式(使用 -r選項(xiàng))下可以直接寫(xiě)成[0 - 9]+,這里的+表示前面的字符(數(shù)字0 - 9)出現(xiàn)一次或多次。

三、基于正則表達(dá)式的復(fù)雜替換操作

  • 有條件的替換
    • 可以根據(jù)正則表達(dá)式的匹配結(jié)果進(jìn)行有條件的替換。例如,只替換特定行中的某個(gè)模式。假設(shè)我們有一個(gè)文件,想要替換以特定單詞開(kāi)頭的行中的某個(gè)字符串??梢允褂妙愃朴?code >/^特定單詞/s/舊字符串/新字符串/的命令,這里/^特定單詞/是一個(gè)地址范圍,表示以“特定單詞”開(kāi)頭的行,然后在這些行中執(zhí)行s/舊字符串/新字符串/的替換操作。
  • 根據(jù)前后文進(jìn)行替換
    • 通過(guò)正則表達(dá)式匹配前后文的內(nèi)容,然后進(jìn)行替換。例如,要將緊跟在某個(gè)單詞后面的數(shù)字替換為其他內(nèi)容,可以使用(\w+)\s+([0 - 9]+)這樣的正則表達(dá)式來(lái)分組匹配單詞和數(shù)字,然后在替換部分使用\1 新內(nèi)容來(lái)保留單詞并替換數(shù)字部分。

四、正則表達(dá)式與sed的多行操作

  • 多行匹配的正則表達(dá)式
    • 有時(shí)候需要對(duì)多行內(nèi)容進(jìn)行匹配。雖然sed默認(rèn)是按行處理的,但可以通過(guò)一些技巧來(lái)實(shí)現(xiàn)多行匹配。例如,要匹配空行后的非空行,可以使用/^$/{n;s/^/添加的內(nèi)容/}。這里/^$/匹配空行,{n;s/^/添加的內(nèi)容/}表示匹配到空行后執(zhí)行下一行(n命令),然后在新的一行開(kāi)頭添加指定內(nèi)容(s命令進(jìn)行替換操作)。
sed命令正則表達(dá)式高級(jí)應(yīng)用,sed與awk結(jié)合使用技巧sed正則表達(dá)式性能優(yōu)化 觀賞魚(yú)市場(chǎng)(混養(yǎng)魚(yú)) 第2張sed命令正則表達(dá)式高級(jí)應(yīng)用,sed與awk結(jié)合使用技巧sed正則表達(dá)式性能優(yōu)化 觀賞魚(yú)市場(chǎng)(混養(yǎng)魚(yú)) 第3張sed命令正則表達(dá)式高級(jí)應(yīng)用,sed與awk結(jié)合使用技巧sed正則表達(dá)式性能優(yōu)化 觀賞魚(yú)市場(chǎng)(混養(yǎng)魚(yú)) 第4張sed命令正則表達(dá)式高級(jí)應(yīng)用,sed與awk結(jié)合使用技巧sed正則表達(dá)式性能優(yōu)化 觀賞魚(yú)市場(chǎng)(混養(yǎng)魚(yú)) 第5張

sed多行操作實(shí)例解析

sed正則表達(dá)式性能優(yōu)化

sed與awk結(jié)合使用技巧

sed腳本編寫(xiě)最佳實(shí)踐

文章版權(quán)聲明:本站文章來(lái)之全網(wǎng),如有雷同請(qǐng)聯(lián)系站長(zhǎng)微信xlyc002 ,轉(zhuǎn)載或復(fù)制請(qǐng)以超鏈接形式并注明出處。

發(fā)表評(píng)論

快捷回復(fù):表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
評(píng)論列表 (有 7 條評(píng)論,4人圍觀)

目錄[+]

取消
微信二維碼
微信二維碼
支付寶二維碼