溫馨提示×

溫馨提示×

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

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

如何在Linux中使用sed命令在文件某行前后添加內(nèi)容

發(fā)布時間:2021-03-12 15:40:31 來源:億速云 閱讀:579 作者:Leah 欄目:系統(tǒng)運維

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)如何在Linux中使用sed命令在文件某行前后添加內(nèi)容,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

一、在某行的前一行或后一行添加內(nèi)容

具休操作如下:
#匹配行前加

sed -i '/toxingwang.com/iwww.toxingwang.com' the.conf.file
#匹配行前后
sed -i '/toxingwang.com/awww.toxingwang.com' the.conf.file


而在書寫的時候為便與區(qū)分,往往會在i和a前面加一個反加一個反斜扛 。代碼就變成了:

代碼如下:


sed -i '/2222222222/a\3333333333' test.txt
sed -i '/2222222222/i\3333333333' test.txt


這就就可以很方便的看出要在某一行前或某一行后加入什么內(nèi)容 。不過經(jīng)常我記不住a 、i 那個是前那個是后。我的記法是a = after ,i = in front 。這樣就知道 i 是前,a 是后了。不過官方的man文件里不是這樣解釋的,man文件里是這樣解釋的:

代碼如下:


a \
text   Append text, which has each embedded newline preceded by a backslash.
i \
text   Insert text, which has each embedded newline preceded by a backslash.


而且其可以配合find查找的內(nèi)容處理,如下:

代碼如下:


find . -name server.xml|xargs sed -i '/directory/i       <!--'
find . -name server.xml|xargs sed -i '/pattern="%h/a       -->'


二、在某行(指具體行號)前或后加一行內(nèi)容

代碼如下:


sed -i 'N;4a\ddpdf' a.txt
sed -i 'N;4i\eepdf' a.txt


這里指定的行號是第四行 。

三、刪除指定行的上一行或下一行
#刪除指定文件的上一行

代碼如下:


sed -i -e :a -e '$!N;s/.*n(.*directory)/1/;ta' -e 'P;D' server.xml
#刪除指定文件的下一行
sed -i '/pattern="%/{n;d}' server.xml

上述就是小編為大家分享的如何在Linux中使用sed命令在文件某行前后添加內(nèi)容了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

AI