2025-02-07 15:15:51 +09:00
|
|
|
# sed
|
|
|
|
|
|
|
|
> スクリプタブルな方法でテキストを編集します。
|
|
|
|
> `awk`, `ed` も参照してください。
|
|
|
|
> もっと詳しく: <https://www.gnu.org/software/sed/manual/sed.html>。
|
|
|
|
|
|
|
|
- 全ての入力行の `apple` (基本正規表現)を `mango` (基本正規表現)に置換し、結果を`stdout`に出力する:
|
|
|
|
|
|
|
|
`{{command}} | sed 's/apple/mango/g'`
|
|
|
|
|
|
|
|
- 全ての入力行で出現する全ての `apple` (拡張正規表現)を `APPLE` (拡張正規表現)に置換し、結果を`stdout`に出力する:
|
|
|
|
|
2025-03-19 00:36:34 +02:00
|
|
|
`{{command}} | sed {{[-E|--regexp-extended]}} 's/(apple)/\U\1/g'`
|
2025-02-07 15:15:51 +09:00
|
|
|
|
|
|
|
- 特定のファイルに出現する全ての `apple` (基本正規表現)を `mango` (基本正規表現)に置換し、元のファイルを上書きする:
|
|
|
|
|
2025-06-03 14:48:03 +02:00
|
|
|
`sed {{[-i|--in-place]}} 's/apple/mango/g' {{path/to/file}}`
|
2025-02-07 15:15:51 +09:00
|
|
|
|
2025-06-07 15:24:03 +02:00
|
|
|
- 特定のスクリプトファイルを実行し、結果を`stdout`に出力する:
|
2025-02-07 15:15:51 +09:00
|
|
|
|
2025-06-07 15:24:03 +02:00
|
|
|
`{{command}} | sed {{[-f|--file]}} {{path/to/script.sed}}`
|
2025-02-07 15:15:51 +09:00
|
|
|
|
|
|
|
- 最初の行だけを`stdout`に出力する:
|
|
|
|
|
2025-03-19 00:36:34 +02:00
|
|
|
`{{command}} | sed {{[-n|--quiet]}} '1p'`
|
2025-02-07 15:15:51 +09:00
|
|
|
|
2025-06-07 15:24:03 +02:00
|
|
|
- ファイルの最初の行を削除する:
|
2025-02-07 15:15:51 +09:00
|
|
|
|
2025-06-03 14:48:03 +02:00
|
|
|
`sed {{[-i|--in-place]}} 1d {{path/to/file}}`
|
2025-02-07 15:15:51 +09:00
|
|
|
|
2025-06-07 15:24:03 +02:00
|
|
|
- ファイルの先頭行に改行を挿入する:
|
2025-02-07 15:15:51 +09:00
|
|
|
|
2025-06-03 14:48:03 +02:00
|
|
|
`sed {{[-i|--in-place]}} '1i\your new line text\' {{path/to/file}}`
|