Linux sed命令詳解
阿新 • • 發佈:2021-09-04
一、sed命令簡介
我們都知道,vim採用的是互動式文字編輯模式,你可以用鍵盤命令來互動性地插入、刪除或替換資料中的文字。但sed命令則不同,它採用的是流編輯模式,最明顯的特點是,在sed命令處理資料之前,需要預先提供一組規則,sed命令會按照這個規則來編輯資料。
sed會根據指令碼命令來處理文字檔案中的資料,這些命令要麼從命令列中輸入,要麼儲存在一個文字檔案中,此命令執行資料的順序如下:
- 每次僅讀取一行資料。
- 根據提供的規則命令匹配並修改資料。注意:sed預設不會直接修改原始檔的資料,而是會將資料複製到緩衝區中,在緩衝區中修改資料。
- 將執行結果輸出。
當一行資料匹配完成後,它會繼續讀取下一行資料,並重復這個過程,直到將檔案中所有資料處理完畢。
sed命令的基本格式如下:
sed [選項] [指令碼命令] 檔名
該命令常用的選項及含義,如下表所示:
選項 | 含義 |
-e | 該選項會將其後跟的指令碼命令新增到已有的命令中 |
-f | 該選項會將其後檔案中的指令碼命令新增到已有的命令中 |
-n | 預設情況下,sed 會在所有的指令碼指定執行完畢後,會自動輸出處理後的內容,而該選項會遮蔽啟動輸出,需使用 print 命令來完成輸出 |
-i | 次選項會直接修改原始檔 |