本文へスキップ

Sedとは?

せど

Sedとは、テキストスリームに対して置換・削除・挿入などの編集操作をコマンドラインから行うUnix標準のストリームエディタです。

Sedは「Stream EDitor」の略で、1974年にAT&Tベル研究所でリー・マクマホンが開発したストリームエディタです。ファイルやパイプからテキストを行単位で読み込み、指定したコマンド(スクリプト)に従って変換・編集した結果を出力します。元のファイルをインタラクティブに編集するのではなく、データが流れる「ストリーム」に対して変換を適用するのが特徴です。

sedの代表的な用途は次のとおりです。

  • 文字列の置換(s/旧/新/g コマンド)がもっともよく使われる
  • 特定の行の削除(d コマンド)や特定行の抽出(p コマンド)
  • 指定した行範囲への操作適用
  • 正規表現によるパターンマッチング処理

sedはシェルスクリプトやパイプラインと組み合わせて使うことが多く、設定ファイルの一括書き換えやログの前処理、テキスト変換の自動化などに活躍します。GNUによる実装「GNU sed」にはインプレース編集(-i オプション)など拡張機能があり、多くのLinux環境で標準搭載されています。

シンプルな置換処理であれば1行のコマンドで完結するため、大量ファイルの一括処理やCI/CDパイプラインでのテキスト変換処理で今も広く使われています。

使い方・例文

設定ファイル中の特定の文字列をスクリプトで一括置換したり、ログから不要な行を削除してから別のコマンドにパイプで渡したりする際にSedが使われます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語