佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫(kù) > Linux中使用sed命令替換字符串小結(jié)

Linux中使用sed命令替換字符串小結(jié)

熱門標(biāo)簽:家政服務(wù)網(wǎng)絡(luò) 解決方案 服務(wù)器配置 美團(tuán) 電話機(jī)器人搭建 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 硅谷的囚徒呼叫中心 外呼系統(tǒng)

最近寫了幾個(gè)小腳本用到了sed命令,學(xué)了一下,順便記下

sed替換的基本語法為:

復(fù)制代碼
代碼如下:
sed 's/原字符串/替換字符串/'

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

復(fù)制代碼
代碼如下:
sed "s/原字符串包含'/替換字符串包含'/" //要處理的字符包含單引號(hào)

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

復(fù)制代碼
代碼如下:
sed 's?原字符串?替換字符串?' //自定義分隔符為問號(hào)

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

復(fù)制代碼
代碼如下:
sed 's/原字符串/替換字符串/' //替換所有匹配關(guān)鍵字

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

復(fù)制代碼
代碼如下:
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)”;”分隔,例如:

復(fù)制代碼
代碼如下:
sed 's/^/添加的頭部/g;s/$/添加的尾部/g' //同時(shí)執(zhí)行兩個(gè)替換規(guī)則

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

復(fù)制代碼
代碼如下:
sed -i 's/原字符串/替換字符串/g' filename //替換文件中的所有匹配項(xiàng)

寫完晚上12點(diǎn)半了,困得不行,要是中間語言不連貫了出錯(cuò)了請(qǐng)見諒,歡迎指出.

標(biāo)簽:防城港 邢臺(tái) 北海 撫州 南昌 烏蘭察布 韶關(guān) 臨沂

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux中使用sed命令替換字符串小結(jié)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    余庆县| 建阳市| 万安县| 白沙| 新疆| 马关县| 瓮安县| 天门市| 项城市| 木兰县| 汾阳市| 井研县| 泰兴市| 娄底市| 北京市| 苍南县| 吴忠市| 杭州市| 天柱县| 邢台县| 观塘区| 英吉沙县| 建水县| 浦北县| 隆回县| 广水市| 遂昌县| 土默特右旗| 社旗县| 仙游县| 云南省| 尤溪县| 疏附县| 奉新县| 镇沅| 遂平县| 厦门市| 古蔺县| 天镇县| 磐石市| 济宁市|