【Linux 檔案處理 #5】sed - 在 Linux (ubuntu) 中直接對檔案內容文字,進行取代的用法 (instead content)

紀錄 sed 流編輯器的方法與日常應用技巧 — sed -i 直接修改檔案、s 指令全域替換、特殊符號逃脫的實作方法。

前言

我們有時候會需要替某些檔案中的文字進行大量替換的動作,
例如:將一個檔案中所有的「大學一年級」,替換成「大學二年級」,

我們可以用 linux 的指令快速實現這件事。

Sample Code

範例1

sed -i 's/a/b/g' change_file.txt

也就是將「change_file.txt」中所有的「a」替換成「b」,
注意:會覆蓋原本的檔案內容!請先備份!

範例2

有時候可能會有些特殊符號,例如「(空白)」、「:」、「"」、「’」
我們需要在前面加「\」處理,

sed -i 's/\'a\'/\'b\'/g' change_file.txt

在所有的「’」,前面加上「\」
將「change_file.txt」中所有的「‘a’」替換成「‘b’」。
注意:會覆蓋原本的檔案內容!請先備份!

Reference

使用 Hugo 建立
主題 StackJimmy 設計