sed 是流編輯器神器,常用替換場景整理:
| 需求 | 指令範例 | 說明 |
|---|---|---|
| 替換並輸出(不改源檔) | sed 's/dog/cat/g' file | 將所有 dog 替換為 cat,輸出至 stdout |
| 備份並原地替換源檔 | sed -i.bak 's/dog/cat/g' file | 建立 file.bak 備份,直接修改 file |
| 替換第 n 到 m 行 | sed 'n,ms/dog/cat/g' file | n、m 為行號,僅影響指定行範圍 |
| 替換模式 A 到 B 之間的內容 | sed '/A/,/B/s/dog/cat/g' file | 從匹配 A 的行開始,到匹配 B 的行結束 |
| 一次替換多組模式 | sed -e 's/dog1/cat1/g' -e 's/dog2/cat2/g' file | 多個 -e 串聯,依序套用 |
掌握這幾種模式,日常文字處理效率大增。