sed :流編輯器,也是行編輯器
sed的基本用法:
- sed在讀取一行數據時,將行數據存儲於臨時緩衝區內,稱爲模式模式空間
- sed默認不會編輯源文件,僅對模式空間內的數據進行更改
- 處理結束後,會將模式空間內容打印至屏幕
set語法:
- sed [選項] '指定行號和執行方式' [文件名]
- 指定行號:
- m,n :從m行開始到n行結束
- 如:1,100 : 從第一行開始,最後一行結束
- 如果只有一個參數,表示精確匹配某一行
- $ :表示最後一行
- /條件/ :按條件匹配行
- 如 :/^root/ :以root開頭的行
- /條件1/,/條件2/ :從第一次被條件1匹配到開始,到第一次被條件2匹配到結束,這中間的所有行
- m ,+n :表示從m開始,到m行後面的n行結束
- m,n :從m行開始到n行結束
- 選項:
- -n :靜默模式,不默認顯示模式空間的內容
- -i :直接修改源文件
- -e [腳本1] -e [腳本2] :可以同時執行多個腳本
- -f [腳本文件] [文件2] :腳本文件中每一行都爲腳本,然後執行在文件2中
- -r :表示使用正則表達式
- 執行方式:
- d :刪除匹配的行
- p :顯示符合條件的行
- a \string :在指定的行後面追加新行,內容爲string
- \n 可以換行
- i \string :指定的行在前面追加新行,內容爲string
- nr[文件] :在n行後面,將文件的內容追加進去
- w [文件] :將指定範圍內行內容存放到指定文件中
- s/string1/string2/ :查找匹配string1並替換成string2,默認只替換每一行中第一次被匹配到的字符
- 可以使用多種符號代替 '/' 如:s###、s@@@
- 修飾符:
- g :全局替換
- i :查找時忽略大小寫
- &[字符] :被匹配到的字符串,在其後面追加字符
- 後項引用,針對字符串的個別字符
- 以l開頭的字符串,替換一個字符爲L
- 替換行首空格
- 截取命令號