溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux下如何使用sed命令切割文本

發(fā)布時間:2022-01-26 11:09:23 來源:億速云 閱讀:284 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Linux下如何使用sed命令切割文本,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

sed是一個流(stream)編輯器,每次讀取文本中的一行,放到內(nèi)存的緩沖區(qū)(pattern space),然后使用sed命令處理pattern space中的內(nèi)容,處理完成后,默認(rèn)輸出至屏幕(stdout)。隨后處理下一行數(shù)據(jù)。

Linux下如何使用sed命令切割文本
  1. sed替換的基本語法為:
sed 's/原字符串/替換字符串/'

單引號里面,s表示替換,三根斜線中間是替換的樣式,特殊字符需要使用反斜線”\”進(jìn)行轉(zhuǎn)義。

  1. 單引號” ‘ ’”是沒有辦法用反斜線”\”轉(zhuǎn)義的,這時候只要把命令中的單引號改為雙引號就行了,格式如下:
# 要處理的字符包含單引號sed "s/原字符串包含'/替換字符串包含'/"
  1. 命令中的三根斜線分隔符可以換成別的符號,有時候替換目錄字符串的時候有較多斜線,這個時候換成其它的分割符是較為方便,只需要緊跟s定義即可。
# 將分隔符換成問號”?”:sed 's?原字符串?替換字符串?'
  1. 可以在末尾加g替換每一個匹配的關(guān)鍵字,否則只替換每行的第一個,例如:
# 替換所有匹配關(guān)鍵字sed 's/原字符串/替換字符串/g'
  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到最后一行

6.批量替換字符串

sed -i "s/查找字段/替換字段/g" `grep 查找字段 -rl 路徑`
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir
  1. sed處理過的輸出是直接輸出到屏幕上的,使用參數(shù)”i”直接在文件中替換。
# 替換文件中的所有匹配項(xiàng)sed -i 's/原字符串/替換字符串/g' filename
  1. 多個替換可以在同一條命令中執(zhí)行,用分號”;”分隔,其格式為:
# 同時執(zhí)行兩個替換規(guī)則sed 's/^/添加的頭部&/g;s/$/&添加的尾部/g'

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Linux下如何使用sed命令切割文本”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI