sed(Stream editor)流編輯器,也叫行編輯器。sed是從管道或檔案中讀取一行,處理一行,然後輸出一行,再處理一行,在輸出一行,直到全部處理完成;每當處理一行時,會把目前處理行存儲在臨時緩沖區中,稱為模式空間(pattern space),接着用sed指令處理緩沖區中的内容,處理完成後,把緩沖區的内容列印到螢幕;特點:打開速度快,執行速度快。
sed指令格式
sed [option] ... 'script;script;...' inputfile...
sed常用選項
-n 不輸出至螢幕,預設是輸出至螢幕的

-e 多點編輯,可以同時執行多個比對更改
-f /path/script_file 從指定檔案中讀取編輯腳本
-r,-E 使用擴充正規表達式
-i.bak 備份檔案并進行編輯儲存
script選項及格式
由位址格式+指令實作
位址格式
1、不停供,則全文讀取
2、#:指定的行,$為尾行 /pattern/被pattern比對的行
3、位址範圍:#,# 從#行到第幾行,如1,4表示1到4行;#,+#,從#行到#+#行;
/pattern1/,/pattern2/ 從比對pattern1到比對pattern2行,一直往下比對,不會中斷
4、步進:~ 1~2 則顯示 1 3 5 7.....
指令
p 列印目前模式空間内容,追加到預設輸出後,一般結合-n 選項使用
I 忽略大小寫輸出
d 删除模式空間比對的行
a [\\]text 在指定行後面追加文本,支援使用\n加多行
i [\\]text 在指定行前面追加文本,支援使用\n加多行
c [\\]text 替換行為text
w /path/file 儲存模式比對的行到指定檔案
r /path/file 讀取指定檔案的文本内容至模式空間中比對的行後面
= 為模式空間中的行列印行号
!模式空間中比對的行取反處理
s/pattern/string/修飾符 查找替換,支援使用其他分隔符,如s@@@,S###等
g行内全局替換
p顯示替換成功的行