【Linux學習教程】Linux中Sed命令如何使用?

老男孩IT教育機構 發表於 2021-10-12
Linux

  sed是一項Linux指令,也是Linux中的重要命令之一,在文字處理方面有著非常重要的作用,可處理文字的行與列。那麼sed是什麼?Linux中sed命令如何使用?具體內容請看下文:

  sed是什麼?

  Sed是一項Linux指令,全稱是Stream EDitor,功能同awk類似,差別在於,sed簡單,對列處理的功能要差一些,awk的功能複雜,對列處理的功能比較強大。Sed主要用於自動編輯一個或者多個檔案,多用於指令碼中對檔案的處理。

  Sed命令可以對檔案進行增加、刪除、修改和查詢操作,所以學好sed命令是寫自動化指令碼必須的基礎之一。

  呼叫sed命令有兩種形式:

  sed [options] 'command' file(s)

  sed [options] -f scriptfile file(s)

  sed命令主要選項

  -e command,--expression=command允許多臺編輯。

  -h,--help列印幫助,並顯示bug列表的地址。

  -n,--quiet,--silent取消預設輸出。

  -f,--filer=script-file引導sed指令碼檔名。

  -V,--version列印版本和版權資訊。

  命令:

  a\在當前行後面加入一行文字。

  b label分支到指令碼中帶有標記的地方,如果分支不存在則分支到指令碼的末尾。

  c\用新的文字改變本行的文字。

  d 從模板塊位置刪除行。

  D 刪除模板塊的第一行。

  i\在當前行上面插入文字。

  h拷貝模板塊的內容到記憶體中的緩衝區。

  H 追加模板塊的內容到記憶體中的緩衝區。

  g 獲得記憶體緩衝區的內容,並替代當前模板塊中的文字。

  G 獲得記憶體緩衝區的內容,並追加到當前模板塊文字的後面。

  l 列表不能列印字元的清單。

  n 讀取下一個輸入行,用下一個命令處理新的行而不是用第一個命令。

  N 追加下一個輸入行到模板塊後面並在二者間嵌入一個新行,改變當前行號碼。

  p 列印模板塊的行。

  P 列印模板塊的第一行。

  q 退出Sed。

  r file從file中讀行。

  t labelif分支,從最後一行開始,條件一旦滿足或者T,t命令,將導致分支到帶有標號的命令處,或者到指令碼的末尾。

  T label錯誤分支,從最後一行開始,一旦發生錯誤或者T,t命令,將導致分支到帶有標號的命令處,或者到指令碼的末尾。

  w file寫並追加模板塊到file末尾。

  W file寫並追加模板塊的第一行到file末尾。

  ! 表示後面的命令對所有沒有被選定的行發生作用。

  s/re/string 用string替換正規表示式re。

  = 列印當前行號碼。

  # 把註釋擴充套件到下一個換行符以前。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2795558/,如需轉載,請註明出處,否則將追究法律責任。