Linux基礎 7-7 set命令的使用

sed :流編輯器,也是行編輯器

sed的基本用法:

  • sed在讀取一行數據時,將行數據存儲於臨時緩衝區內,稱爲模式模式空間
  • sed默認不會編輯源文件,僅對模式空間內的數據進行更改
  • 處理結束後,會將模式空間內容打印至屏幕

set語法:

  • sed [選項] '指定行號和執行方式' [文件名]
  • 指定行號:
    • m,n :從m行開始到n行結束
      • 如:1,100 : 從第一行開始,最後一行結束
      • 如果只有一個參數,表示精確匹配某一行
      • $ :表示最後一行
    • /條件/ :按條件匹配行
      • 如 :/^root/ :以root開頭的行
    • /條件1/,/條件2/ :從第一次被條件1匹配到開始,到第一次被條件2匹配到結束,這中間的所有行
    • m ,+n :表示從m開始,到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
  • 替換行首空格
  • 截取命令號
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章