十四、shell程式設計三劍客(2)sed
阿新 • • 發佈:2022-02-21
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