sed 命令構建器
產生 sed 指令,用於過濾與轉換文字流
sed 入門
## 什麼是 sed?
`sed`(串流編輯器)會逐行讀取輸入,套用一連串編輯指令,並將結果寫入標準輸出。它非常適合用於尋找與取代、字串替換以及大批文字轉換。
## 如何使用
1. **輸入腳本**:提供一段 `sed` 運算式,例如 `s/old/new/g`。 2. **設定選項**(可選):`-E` 啟用延伸正規表示式、`-n` 抑制自動輸出、`-i` 直接編輯檔案。 3. **指定檔案**:輸入要處理的檔案。 4. **複製並執行**:將產生的指令複製到終端機執行。
替換語法
最常見的 `sed` 指令是替換:
``` s/pattern/replacement/flags ```
### 常用旗標 - `g` — 取代每一行中所有出現位置(不只是第一個) - `i` / `I` — 不區分大小寫比對 - `N`(數字)— 只取代第 N 個符合處 - `p` — 僅在發生替換時印出該行(與 `-n` 搭配)
### 範例 - `s/foo/bar/g` — 將所有 `foo` 取代為 `bar` - `s/[0-9]+/N/g`(搭配 `-E`)— 將每段連續數字取代為 `N` - `1d` — 刪除第一行 - `/pattern/d` — 刪除符合 `pattern` 的行
### 引號處理 務必用單引號包裹腳本,這樣 shell 才不會去解譯 `/`、`$` 或 `\`。本產生器會自動為您處理引號。
▶-i 旗標的作用是什麼?
`-i` 會就地編輯檔案,而不是寫到標準輸出。務必先備份檔案,或先不加 `-i` 測試一次——這項變更無法復原。
▶如何在模式中使用特殊字元?
改用其他分隔符即可避免逸出斜線:`s|/usr/bin|/opt/bin|g` 將分隔符換成 `|`。若要使用延伸正規表示式(`+`、`?`、`|`、`{n}`),請加上 `-E` 旗標。
如果这个工具对你有帮助,请考虑请我喝杯咖啡。
請幫我買杯咖啡吧。