概述
sed 是stream editor(流編輯器)縮寫,是操作、過濾、轉換文本的強大工具,常用功能增删改查、過濾、取行;
一次處理一行内容. 把每一行送到'模式空間'再輸出;
文法
sed [options][sed-commands][-f<script檔案>][文本檔案]
參數
[options]:
-n 僅顯示處理後的結果
-i 可以直接修改檔案内容
-e 以選項中指定的腳本來處理文本
-f 或--file=<script檔案> 以選項中指定的script檔案來處理輸入的文本檔案。
[sed-commands]:
a 新增
d 删除
c 取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行
p 列印,亦即将某個選擇的資料印出。通常 p 會與參數 sed -n 一起運作~
s 取代,s 的動作可以搭配正規表示法!例如 1,20s/old/new/g
i 插入(目前的上一行)
執行個體
- 目前行後面新增: > nl passwd |sed '2a drink coffe'
- 目前行前面新增: > nl passwd |sed '2i drink coffe'
- 新增2行字元 :以反斜杠『 \ 』來進行新行的添加
- 删除行
- 替換行
- 隻顯示部分行
- 搜尋有root關鍵字的行,使用-n時隻顯示比對的行
- 搜尋後執行指令