學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux下如何使用sed命令替換字符串

Linux下如何使用sed命令替換字符串

時(shí)間: 孫勝652 分享

Linux下如何使用sed命令替換字符串

  了解Linux系統(tǒng)命令的相比都知道,sed命令常用于文本文件的處理,今天小編就給大家介紹下如何使用sed命令替換字符串,感興趣的朋友不妨來了解下吧。

  sed替換的基本語(yǔ)法為:

  代碼如下:

  sed ‘s/原字符串/替換字符串/’

  單引號(hào)里面,s表示替換,三根斜線中間是替換的樣式,特殊字符需要使用反斜線”\”進(jìn)行轉(zhuǎn)義,但是單引號(hào)”‘”是沒有辦法用反斜線”\”轉(zhuǎn)義的,這時(shí)候只要把命令中的單引號(hào)改為雙引號(hào)就行了,例如:

  代碼如下:

  sed “s/原字符串包含‘/替換字符串包含’/” //要處理的字符包含單引號(hào)

  命令中的三根斜線分隔符可以換成別的符號(hào),這在要替換的內(nèi)容有較多斜線是較為方便,只需要緊跟s定義即可,例如換成問號(hào)”?”:

  代碼如下:

  sed ‘s?原字符串?替換字符串?’ //自定義分隔符為問號(hào)

  可以在末尾加g替換每一個(gè)匹配的關(guān)鍵字,否則只替換每行的第一個(gè),例如:

  代碼如下:

  sed ‘s/原字符串/替換字符串/’ //替換所有匹配關(guān)鍵字

  上箭頭”^”表示行首,美元”$”符號(hào)如果在引號(hào)中表示行尾,但是在引號(hào)外卻表示末行(最后一行),這里犯二了,搜了半天哪個(gè)符號(hào)表示首行,半天才想起來,首行就是數(shù)字”1″啊。那么在行首和行尾添加字符串就是把行尾和行首替換,例如:

  代碼如下:

  sed ‘s/^/添加的頭部&/g’ //在所有行首添加

  sed ‘s/$/&添加的尾部/g’ //在所有行末添加

  sed ‘2s/原字符串/替換字符串/g’ //替換第2行

  sed ‘$s/原字符串/替換字符串/g’ //替換最后一行

  sed ‘2,5s/原字符串/替換字符串/g’ //替換2到5行

  sed ‘2,$s/原字符串/替換字符串/g’ //替換2到最后一行

  替換樣式可以多個(gè)在同一條命令中執(zhí)行,用分號(hào)”;”分隔,例如:

  代碼如下:

  sed ‘s/^/添加的頭部&/g;s/$/&添加的尾部/g’ //同時(shí)執(zhí)行兩個(gè)替換規(guī)則

  sed處理過的輸出是直接輸出到屏幕上的,要保存可以將輸出重定向,或者使用參數(shù)”i”直接在文件中替換:

  代碼如下:

  sed -i ‘s/原字符串/替換字符串/g’ filename //替換文件中的所有匹配項(xiàng)

  上面就是Linux下使用sed命令替換字符串的方法介紹了,sed命令的用法遠(yuǎn)不止這些,本文只是舉個(gè)例子給大家簡(jiǎn)單介紹下sed命令,想要使用sed命令替換字符串的朋友可以做個(gè)參考。

312259