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

sed使用正則表達式進行替換例子以及注意事項

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

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

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

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

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

有些特殊字符在sed的正則表達式中不能用,比如要表示匹配一個數(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)義的,會不斷更新。

sed使用正則表達式替換的例子:

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

#例2:
對于宏進行替換:

#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 關鍵字匹配整行中任意字符進行替換(正則表達式整行替換)

語法:

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

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

執(zhí)行替換前:

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

執(zhí)行替換后:

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

總結(jié) 

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

相關文章

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

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

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

    shell腳本兩個文件關鍵行合并方式

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

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

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

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

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

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

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

    Linux下啟動tomcat的方法

    tomcat是隨機啟動的,所以在開啟服務器的時候要手動開啟tomcat,不然沒法訪問,本文給大家介紹linux下啟動tomcat的方法,對linux啟動tomcat的相關知識感興趣的朋友一起學習吧
    2015-12-12
  • linux文本處理工具及正則表達式集錦

    linux文本處理工具及正則表達式集錦

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

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

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

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

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

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

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

最新評論