您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)怎么進(jìn)行sed的使用,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
Sed默認(rèn)不直接修改源文件而是通過(guò)管道或者文件讀取內(nèi)容將其復(fù)制到稱之為模式空間的緩沖區(qū),其指令在這個(gè)模式空間內(nèi)完成并打印到屏幕上。
語(yǔ)法格式:
上面提到定位以行尾單位,那么行暫且定義它為地址,也就是操作對(duì)象
地址的范圍有一下集中格式
n #指定唯一行號(hào)
1~2 #指定從1行開始,間隔為2也就是
$ #指定最后一行
/正則表達(dá)式/ #匹配正則表達(dá)式的操作對(duì)象
\a正則表達(dá)式a #匹配\a和a之間的正則表達(dá)式
3,5 #匹配3-5行
1,+10 #匹配1和1后面的10行內(nèi)容
sed的使用選項(xiàng)
Sed [選項(xiàng)] [腳本指令] [輸入文件]
選項(xiàng): -n #靜默輸出,不打印模式空間的內(nèi)容,默認(rèn)情況下是自動(dòng)打印的
-e 腳本 #允許多個(gè)腳本指令被執(zhí)行
-f #從文件中讀取指令
-l #輸出的行長(zhǎng)度
-r #擴(kuò)展正則表達(dá)式
-I #直接修改源文件
指令: a (append) #追加
d (delete) #刪除
s (substitution)#替換
c #更改
y #按字符替換
p #打印
q #退出
i #插入
l #打?。@示非打印字符)
L #打印(顯示打印字符)
r #讀入文件內(nèi)容
我們找一個(gè)文件,然后來(lái)操作下
例:第一行后追加“This is a example”
[root@pan-S~]# sed "1a This is a example" /opt/fstab_Mrpan
例:第6行前追加“This isa example”#注意源文件發(fā)生改變了
[root@pan-S~]# sed -i "6i This is a example" /opt/fstab_Mrpan
例:替換命令
[root@pan-S~]# sed "s/defaults/Mr.pan/g" /opt/fstab_Mrpan
[root@pan-S~]# sed -i "3s/fstab/fstab_Mr.pan/g" /opt/fstab_Mrpan
例:更改命令
[root@pan-S~]# sed "/pan/c exit" /etc/passwd | more
例:利用正則表達(dá)式
匹配包含fstab的行單位
[root@pan-S~]# sed -i "/fstab/a This is a example" /opt/fstab_Mrpan
[root@pan-S~]# sed -n "/^$/d" /opt/fstab_Mrpan
當(dāng)需要執(zhí)行多個(gè)指令時(shí)可以使用 –e –f 或者分隔符分號(hào);還可以使用分行,但是最好使用-f 文件來(lái)執(zhí)行,這樣的話便于修改,不容易出錯(cuò)。
例:刪除包含example的行,替換所有的0為1
(1)# sed -e"/example/d" -e "s/0/1/g" /opt/fstab_Mrpan
(2)# sed"/example/d;s/0/1/g" /opt/fstab_Mrpan
好了,大家可以自己操作下看看有什么變化
以上就是怎么進(jìn)行sed的使用,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。