1. 程式人生 > 其它 >十四、shell程式設計三劍客(2)sed

十四、shell程式設計三劍客(2)sed

1.前言

  sed也叫流編輯,是一種線上的、非互動的編輯器,他一次成立一行內容。處理時,把當前處理的行儲存在臨時緩衝區中,稱為“模式空間”,見著用sed命令處理緩衝區的內容,處理完成後,把緩衝區的內容送往螢幕。

  接著處理下一行,這樣不斷重複,知道檔案末尾。檔案內容並沒有改變,除非你使用重定向儲存輸出,sed主要用來自動編輯一個或多個檔案;簡化對檔案的反覆操作。

2.格式

  sed  選項  命令  檔案

  sed  選項 -f  指令碼  檔案  (不常用)

3.返回值

  都是0,對錯不管

  只有當命令存在語法錯誤時,sed的退出狀態才是非0.

4.彙總示例

  刪除命令:d

    sed -r '/root/d' passwd  刪除有rood的那行

    sed -r '3d' passwd  刪除第三行

    sed -r '3{d}' passwd  刪除第三行(專業點)

    sed -r '3{d;}' passwd  刪除第三行,且還有其他命令

    sed -r '3,$d' passwd  刪除3到最後一行

    sed -r '$d' passwd  刪除最後一行

  

    蹦出來的是草稿,並沒有執行,如果要執行要用-ri

  

  替換命令:s

  

  替換整行命令:c

  讀檔案命令:r

  寫檔案命令:w(另存為)

  追加命令:a(之後)

  插入命令:i(之前)

  獲取下一行命令:n

  反向選擇:!

  多重編輯:e