天天看點

Linux 三劍客之SED

概述

sed 是stream editor(流編輯器)縮寫,是操作、過濾、轉換文本的強大工具,常用功能增删改查、過濾、取行;

一次處理一行内容. 把每一行送到'模式空間'再輸出;

文法

sed [options][sed-commands][-f<script檔案>][文本檔案]

參數

Linux 三劍客之SED

[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'
    Linux 三劍客之SED
  • 目前行前面新增: > nl passwd |sed '2i drink coffe'
    Linux 三劍客之SED
  • 新增2行字元 :以反斜杠『 \ 』來進行新行的添加
    Linux 三劍客之SED
  • 删除行
    Linux 三劍客之SED
  • 替換行
    Linux 三劍客之SED
  • 隻顯示部分行
    Linux 三劍客之SED
  • 搜尋有root關鍵字的行,使用-n時隻顯示比對的行
    Linux 三劍客之SED
  • 搜尋後執行指令
    Linux 三劍客之SED