【セド】
sed とは?
最終更新:
💡 流れるテキストを、コマンドで加工する
ファイルや標準入力のテキストを読み、置換・行削除などの処理を行うストリームエディタ。通常は処理結果を標準出力へ送り、入力ファイルを直接変更するには対応するオプションなどが必要。
📌 このページのポイント
sedって何をするコマンドなの?
ファイルや他のコマンドから受け取ったテキストを加工するよ。例えば sed 's/Hello/Hi/' input.txt は、各行の最初のHelloをHiに置き換えた結果を標準出力へ送る。元のinput.txtはこの例では変更しないんだ
エディタで置換するのと何が違うの?
対話的な編集画面を開かず、指定した処理を入力に適用できるんだ。繰り返す処理や、他のコマンドの出力をパイプで加工するときに便利だよ。エディタにも複数ファイルの一括置換機能があるので、手作業しかできないわけではないね
置換以外にもできることがあるの?
行番号やパターンを使って対象を選び、行を削除したり表示したりできるよ。例えば sed -n '/ERROR/p' log.txt はERRORを含む行だけを出力する。-nで通常の自動出力を止め、pで選んだ行を表示しているんだ
-i オプションをよく見かけるけど、何なの?
正規表現や複数行も扱える?
まとめ:ざっくりこれだけ覚えればOK!
「sed」って出てきたら「入力テキストをコマンドで加工して出力するツール」と思えばだいたいOK!
📖 おまけ:英語の意味
「Stream Editor」 = ストリームエディタ
💬 「ストリーム(流れ)」を「エディット(編集)」するという意味で、テキストが川のように流れてくるのを途中で加工するイメージだよ