欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

sed使用正則表達(dá)式進(jìn)行替換例子以及注意事項(xiàng)

 更新時(shí)間:2024年03月16日 09:08:43   作者:panfei263031  
在使用sed替換時(shí),可以使用正則表達(dá)式分組來保留部分匹配內(nèi)容,下面這篇文章主要給大家介紹了關(guān)于sed使用正則表達(dá)式進(jìn)行替換例子以及注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下

sed中使用正則表達(dá)式進(jìn)行替換的時(shí)候,一定要注意,有些特殊字符在使用時(shí)要轉(zhuǎn)義,目前發(fā)現(xiàn)的有:

  • 用于分組的小括號(hào):(),在使用時(shí)要用\進(jìn)行轉(zhuǎn)義,但是匹配字符串中真正的小括號(hào)時(shí),無需轉(zhuǎn)義;
  • 表示前面的表達(dá)式出現(xiàn)次數(shù)的{},也要轉(zhuǎn)義;
  • 表示前面的表達(dá)式出現(xiàn)1次或多次的+,也要轉(zhuǎn)義,在使用時(shí),要用\+
  • 表示前面的表達(dá)式至多出現(xiàn)1次?,也要轉(zhuǎn)義,在使用時(shí),要用\?

不需要轉(zhuǎn)義的特殊字符:

  • 用于表示字符集的[]
  • 表示前面的表達(dá)式出現(xiàn)0次或多次的*

有些特殊字符在sed的正則表達(dá)式中不能用,比如要表示匹配一個(gè)數(shù)字不能用\d,而要用[0-9],例如:

#想要把u8Speed中的8替換為32,方法一失敗,方法二成功:
>echo "u8Speed" |sed -e 's/\d/32/g'
>u8Spee32

>echo "u8Speed" |sed -e 's/[0-9]/32/g'
>u32Speed

但是\b、\w可以用,分別表示單詞邊界,字母數(shù)字下劃線即[a-zA-Z0-9_]

此貼持續(xù)更新,后續(xù)發(fā)現(xiàn)需要轉(zhuǎn)義的或者不需要轉(zhuǎn)義的,會(huì)不斷更新。

sed使用正則表達(dá)式替換的例子:

#例1:
>echo "VAR(int, AAAAA) b;" |sed -e 's/\bVAR(\([a-z]\{1,\}\),\( \)*\([A-Z]\+\))/\1/g'
>int b;
#上面的命令中,{}、+、()都進(jìn)行了轉(zhuǎn)義
#此命令的功能是,將autosar風(fēng)格的變量定義,轉(zhuǎn)換成常見的變量定義,上述命令輸出結(jié)果為:
#int b;

#例2:
對(duì)于宏進(jìn)行替換:

#define GetData(u8, speed, (int)ZERO)   u8speed[(int)ZERO]
>echo "GetData(u8, speed, (int)ZERO);" |sed -e 's/\bGetData(\?\(\w\+\), *\(\w\+\), *\((\?\w\+)\?\)\(\w\+\))/\1\2[\3\4]/g'
>u8speed[(int)ZERO]

附:sed 關(guān)鍵字匹配整行中任意字符進(jìn)行替換(正則表達(dá)式整行替換)

語法:

sed -i 's/.*要查找的字串符.*/要替換的字串符/' a.txt

實(shí)戰(zhàn)示例:
場(chǎng)景:
查找文本文件 [a.txt] 中包含字串符 [privatekey] 的行將其替換為 123456.
執(zhí)行命令如下:
sed -i 's/.*privatekey.*/123456/' a.txt

執(zhí)行替換前:

執(zhí)行前結(jié)果圖

執(zhí)行替換后:

執(zhí)行后結(jié)果圖

總結(jié) 

到此這篇關(guān)于sed使用正則表達(dá)式進(jìn)行替換例子以及注意事項(xiàng)的文章就介紹到這了,更多相關(guān)sed正則表達(dá)式替換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Shell腳本實(shí)現(xiàn)刪除一年前文件功能分享

    Shell腳本實(shí)現(xiàn)刪除一年前文件功能分享

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)刪除一年前文件功能分享,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2014-12-12
  • shell腳本兩個(gè)文件關(guān)鍵行合并方式

    shell腳本兩個(gè)文件關(guān)鍵行合并方式

    這篇文章主要介紹了shell腳本兩個(gè)文件關(guān)鍵行合并方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 獲取服務(wù)器信息的Shell腳本分享(ubuntu、centos測(cè)試通過)

    獲取服務(wù)器信息的Shell腳本分享(ubuntu、centos測(cè)試通過)

    這篇文章主要介紹了獲取服務(wù)器信息的Shell腳本分享(ubuntu、centos測(cè)試通過),本文直接給出實(shí)現(xiàn)代碼,本文腳本實(shí)現(xiàn)獲取linux發(fā)行版名稱、查看系統(tǒng)是否為64位、系統(tǒng)內(nèi)核版本等信息,需要的朋友可以參考下
    2014-12-12
  • Linux中查看服務(wù)器內(nèi)存/CPU/網(wǎng)絡(luò)占用情況的命令

    Linux中查看服務(wù)器內(nèi)存/CPU/網(wǎng)絡(luò)占用情況的命令

    這篇文章主要為大家整理了一些Linux中查看服務(wù)器內(nèi)存、CPU和網(wǎng)絡(luò)占用情況的命令,文中的示例代碼簡(jiǎn)潔易懂,需要的小伙伴可以參考一下
    2023-08-08
  • Shell調(diào)用curl實(shí)現(xiàn)IP歸屬地查詢的腳本

    Shell調(diào)用curl實(shí)現(xiàn)IP歸屬地查詢的腳本

    這篇文章主要介紹了Shell調(diào)用curl實(shí)現(xiàn)IP歸屬地查詢,文中給大家提到了查詢IP歸屬地的shell腳本,在批量查找數(shù)據(jù)的時(shí)候經(jīng)常會(huì)遇到,今天給大家分享出來,需要的朋友可以參考下
    2021-07-07
  • Linux下啟動(dòng)tomcat的方法

    Linux下啟動(dòng)tomcat的方法

    tomcat是隨機(jī)啟動(dòng)的,所以在開啟服務(wù)器的時(shí)候要手動(dòng)開啟tomcat,不然沒法訪問,本文給大家介紹linux下啟動(dòng)tomcat的方法,對(duì)linux啟動(dòng)tomcat的相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • linux文本處理工具及正則表達(dá)式集錦

    linux文本處理工具及正則表達(dá)式集錦

    這篇文章主要介紹了linux文本處理工具及正則表達(dá)式集錦,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-05-05
  • 在Linux上列出磁盤信息的七個(gè)命令詳解

    在Linux上列出磁盤信息的七個(gè)命令詳解

    在 Linux 系統(tǒng)上,了解系統(tǒng)中的磁盤信息對(duì)于系統(tǒng)管理員和用戶來說都是至關(guān)重要的,通過了解系統(tǒng)上的磁盤情況,可以有效管理存儲(chǔ)空間、診斷問題并進(jìn)行性能優(yōu)化,本文給大家介紹了在Linux上列出磁盤信息的七個(gè)命令,需要的朋友可以參考下
    2024-05-05
  • Shell中調(diào)用、引用、包含另一個(gè)腳本文件的三種方法

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

    這篇文章主要介紹了Shell中調(diào)用、引用、包含另一個(gè)腳本文件的三種方法,需要的朋友可以參考下
    2014-04-04
  • Shell判斷字符串變量是否為空的方法實(shí)現(xiàn)

    Shell判斷字符串變量是否為空的方法實(shí)現(xiàn)

    本文主要介紹了Shell判斷字符串變量是否為空的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評(píng)論