sed 【stream editor】
基本の書式は「sed オプション スクリプト 入力ファイル」で、入力ファイルの各行ごとに、スクリプトで指定した処理を行い、出力する。他の多くのコマンドと同様、パイプを用いて他のコマンドの出力を入力として受け取ったり、出力をファイルに保存したりすることができる。
スクリプトの内容は、アドレス(対象の行を指定)、コマンド(英小文字一文字)、コマンドに与えるパラメータを続けて記述する。アドレスは「1」のように数字一つだと特定の行(この場合1行目)を、「2,5」のようにカンマ区切りで範囲(2行目から5行目)を表すことができる。「/正規表現/」とすることでパターンに一致する行を指定することもでき、例えば「/^$/d」は空行を削除するという意味になる。
コマンドには「p」(その行を表示する)、「d」(その行を削除する)、「s」(指定した行の文字列に対してパラメータで指定した置換処理を実行する)などがある。sコマンドのパラメータは「s/置換前の文字列パターン/置き換える文字列/フラグ」という形式で記載し、パターンの指定には正規表現を使うことができる。例えば、「s/abc/ABC/g」ならば、すべての「abc」を「ABC」に置き換えるという意味になる。
sedは古くから多くのUNIX系OS、Linuxディストリビューションに標準コマンドの一部として収録されている。対話的に用いることもあるが、シェルスクリプトなどの中で他のコマンドなどと組み合わせてテキストファイルへ強力な文字列処理を行う標準的な手法として広く普及している。
(2021.6.18更新)