新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux下使用sed命令切割文本
sed是一個流(stream)編輯器,每次讀取文本中的一行,放到內(nèi)存的緩沖區(qū)(pattern space),然后使用sed命令處理pattern space中的內(nèi)容,處理完成后,默認輸出至屏幕(stdout)。隨后處理下一行數(shù)據(jù)。

裕華網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,裕華網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為裕華上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的裕華做網(wǎng)站的公司定做!
-
sed替換的基本語法為:
sed 's/原字符串/替換字符串/'
單引號里面,s表示替換,三根斜線中間是替換的樣式,特殊字符需要使用反斜線”\”進行轉(zhuǎn)義。
-
單引號” ‘ ’”是沒有辦法用反斜線”\”轉(zhuǎn)義的,這時候只要把命令中的單引號改為雙引號就行了,格式如下:
# 要處理的字符包含單引號
sed "s/原字符串包含'/替換字符串包含'/"
-
命令中的三根斜線分隔符可以換成別的符號,有時候替換目錄字符串的時候有較多斜線,這個時候換成其它的分割符是較為方便,只需要緊跟s定義即可。
# 將分隔符換成問號”?”:
sed 's?原字符串?替換字符串?'
-
可以在末尾加g替換每一個匹配的關(guān)鍵字,否則只替換每行的第一個,例如:
# 替換所有匹配關(guān)鍵字
sed 's/原字符串/替換字符串/g'
-
一些特殊字符的使用
”^”表示行首
”$”符號如果在引號中表示行尾,但是在引號外卻表示末行(最后一行)
# 注意這里的 " & " 符號,如果沒有 “&”,就會直接將匹配到的字符串替換掉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
-
sed處理過的輸出是直接輸出到屏幕上的,使用參數(shù)”i”直接在文件中替換。
# 替換文件中的所有匹配項
sed -i 's/原字符串/替換字符串/g' filename
-
多個替換可以在同一條命令中執(zhí)行,用分號”;”分隔,其格式為:
# 同時執(zhí)行兩個替換規(guī)則
sed 's/^/添加的頭部&/g;s/$/&添加的尾部/g'
當(dāng)前標題:Linux下使用sed命令切割文本
標題網(wǎng)址:http://m.fisionsoft.com.cn/article/cddjpec.html


咨詢
建站咨詢
