1. 程式人生 > 其它 >Linux sed命令詳解

Linux sed命令詳解

一、sed命令簡介

  我們都知道,vim採用的是互動式文字編輯模式,你可以用鍵盤命令來互動性地插入、刪除或替換資料中的文字。但sed命令則不同,它採用的是流編輯模式,最明顯的特點是,在sed命令處理資料之前,需要預先提供一組規則,sed命令會按照這個規則來編輯資料。

  sed會根據指令碼命令來處理文字檔案中的資料,這些命令要麼從命令列中輸入,要麼儲存在一個文字檔案中,此命令執行資料的順序如下:

  1. 每次僅讀取一行資料。
  2. 根據提供的規則命令匹配並修改資料。注意:sed預設不會直接修改原始檔的資料,而是會將資料複製到緩衝區中,在緩衝區中修改資料。
  3. 將執行結果輸出。

  當一行資料匹配完成後,它會繼續讀取下一行資料,並重復這個過程,直到將檔案中所有資料處理完畢。

  sed命令的基本格式如下:

sed [選項] [指令碼命令] 檔名

  該命令常用的選項及含義,如下表所示:

選項 含義            
-e 該選項會將其後跟的指令碼命令新增到已有的命令中
-f 該選項會將其後檔案中的指令碼命令新增到已有的命令中
-n 預設情況下,sed 會在所有的指令碼指定執行完畢後,會自動輸出處理後的內容,而該選項會遮蔽啟動輸出,需使用 print 命令來完成輸出
-i 次選項會直接修改原始檔