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