Linux學習-10月17(sed)
阿新 • • 發佈:2018-11-27
9.4/9.5 sed
一、sed命令
sed命令主要用於刪除、查詢替換
- sed的用法:
sed命令模式:sed [option] 'sed命令' filename
sed指令碼模式:sed [option] 'sed script' filename
-
sed選項:
-n:只打印匹配到行
-e:直接在命令列進行編輯,此為預設的選項
-f: 執行指定指令碼中的script語句
-i:直接修改檔案中的內容
- sed動作說明
a:a的後面可以是字串,這些字串會新增到下一行(目前的下一行)
c:取代,c的後面可以是字串,這些字串可以取代n1,n2之間的行
d:刪除
i:插入,i的後面可以是字串,這些字串會在新的一行出現(目前的上一行)
p:列印,通常p和 -n一起使用
s:替換,進行替換,通常s是搭配正則,例如:s/oo/tt/g(把oo替換為tt)
sed操作示例:
- 使用sed進行匹配
- sed不區分大小寫匹配
- sed -n '1,30'd :刪除1-30(並不會操作檔案)
- sed '1,2'c'111':把第一二行替換為‘111’
- head -n 5 passwd |sed -r 's/([^:]+):(.*):([^:]+)/\3\2:\1/'
把passwd文字中的前五行,以:為分割把第一行和最後一行進行替換。\1表示第一個()內容,\2表示第二個()內容,\3表示第三個內容
- sed ‘3’i‘333’ 在第三行插入‘333’
- sed '1'a'12313' 在第一行的下面插入一行
- sed 's/root/rxxxt/g' 全域性替換把root 替換為 rxxxt