Provided by: manpages-ja_0.5.0.0.20221215+dfsg-1_all bug

名前

       sed - テキストのフィルタリング、変換用のストリームエディター

書式

       sed [OPTION]... {script-only-if-no-other-script} [input-file]...

説明

       sed はストリームエディターです。ストリームエディターは、入力ストリーム (ファイルまたはパイ
       プラインからの入力) に対して基本的なテキスト変換を行うために用いられます。sed は  編集スク
       リプトを使える (ed のような) エディターと いろいろな面で似ていますが、sed は入力に対して 1
       パスだけで動作するので、より効率的です。また  sed   はパイプラインのテキストに対してフィル
       ター動作を行うことができ、この点は他のタイプのエディターとはっきり違います。

       -n, --quiet, --silent

              パターンスペースの自動出力を抑制します

       --debug

              プログラム実行状況を表示します

       -e script, --expression=script

              実行するコマンドとして script を追加します

       -f script-file, --file=script-file

              実行するコマンドとして script-file の内容を追加します

       --follow-symlinks

              インプレース処理においてシンボリックリンクをたどります

       -i[SUFFIX], --in-place[=SUFFIX]

              ファイルをインプレース処理で編集します (SUFFIX 指定時はバックアップを取ります)

       -l N, --line-length=N

              `l' コマンドの出力行を折り返す長さを指定します

       --posix

              全ての GNU 拡張を無効にします

       -E, -r, --regexp-extended

              スクリプトで拡張正規表現を使用します (-E 利用は POSIX 互換性のため)

       -s, --separate

              複数の入力ファイルを一続きのストリームとして扱わずに個別のファイルとして扱います

       --sandbox

              サンドボックス (sandbox) モードで実行します (e/r/w コマンドを無効にします)

       -u, --unbuffered

              入力ファイルからデータをごく少量ずつ取り込み、頻繁に出力バッファを掃き出します
              (flush)

       -z, --null-data

              NUL 文字で行を分割します

       --help
              ヘルプを表示して終了します

       --version
              バージョン情報を出力して終了します

       -e--expression-f、または --file オプションのいずれも指定されない場合、最初のオプション
       でない引数が sed スクリプトとして解釈されます。 残りの全ての引数は入力ファイル名として扱わ
       れます。 入力ファイルが指定されない場合は、標準入力から読み込みます。

       GNU sed ホームページ: <https://www.gnu.org/software/sed/>. GNU  ソフトウェアを使用する際の
       一般的なヘルプ:     <https://www.gnu.org/gethelp/>.    電子メールによるバグレポートの宛先:
       <bug-sed@gnu.org>

コマンドの文法

       これは sed コマンドのごく簡単な概要であり、既に sed を知っている人向けの備忘録程度のもので
       す。 より詳細な情報については、他の文書 (texinfo 文書など) を参照してください。

   アドレスを取らないコマンド
       : label
              b コマンドと t コマンド用のラベル。

       #comment
              次の改行文字まで  (あるいは -e スクリプトフラグメントの末尾まで) をコメントとして取
              り扱います。

       }      { } ブロックの閉じ括弧。

   アドレスを 0 または 1 つ取るコマンド
       =      現在の行番号を出力します。

       a \

       text   text を追加します。 text に改行を含める場合は、各改行の前にバックスラッシュを置きま
              す。

       i \

       text   text を挿入します。 text に改行を含める場合は、各改行の前にバックスラッシュを置きま
              す。

       q [exit-code]
              これ以上入力を処理せず、ただちに sed スクリプトの処理を終了します。  ただし自動出力
              が抑制されていない場合、  現在のパターンスペースが出力されます。  引数 exit-code は
              GNU 拡張です。

       Q [exit-code]
              これ以上入力を処理せず、ただちに sed スクリプトの処理を終了します。 引数  exit-code
              は GNU 拡張です。

       r filename
              filename から読み込んだテキストを追加します。

       R filename
              filename から 1 行読み込み、追加します。 コマンドを起動するたびにファイルから次の 1
              行を読み込みます。 このコマンドは GNU 拡張です。

   アドレス範囲を指定できるコマンド
       {      コマンドブロックを開始します (} で終了します)。

       b label
              label に分岐します。 label が省略された場合は、スクリプトの末尾に分岐します。

       c \

       text   選択した行を text で置換します。 text  に改行を含めたい場合は、その前にバックスラッ
              シュを置きます。

       d      パターンスペースを削除します。 次のサイクルを開始します。

       D      パターンスペースに改行がない場合は、d  コマンドと同様に通常の次のサイクルを開始しま
              す。 そうでない場合は、パターンスペースの最初の改行までを削除し、次の入力行を読み込
              まずに、その結果のパターンスペースでサイクルを開始します。

       h H    パターンスペースをホールドスペースにコピー/追加します。

       g G    ホールドスペースをパターンスペースにコピー/追加します。

       l      現在の行を「視覚的に曖昧性のない」形式で一覧出力します。

       l width
              現在の行を「視覚的に曖昧性のない」形式でリストし、width の文字で折り返します。 この
              コマンドは GNU 拡張です。

       n N    入力の次の行をパターンスペースに読み込む/追加します。

       p      現在のパターンスペースを出力します。

       P      現在のパターンスペースの最初の改行までを出力します。

       s/regexp/replacement/
              パターンスペースに対して regexp のマッチを試みます。 マッチに成功すると、マッチした
              部分を replacement に置換します。 replacement には特殊文字である & を含めることがで
              き、これはパターンスペースのマッチした部分を参照します。 また \1 から \9 までの特殊
              エスケープを含むこともでき、これは  regexp の部分正規表現 (sub-expression) にマッチ
              した部分をそれぞれ参照します。

       t label
              直近の入力行が読み込まれて以降、かつ、直近の t あるいは T コマンド以降に、s  コマン
              ドが成功していれば、label に分岐します。 label が省略された場合は、スクリプトの末尾
              に分岐します。

       T label
              直近の入力行が読み込まれて以降、かつ、直近の t あるいは T コマンド以降に、s  コマン
              ドが成功していなければ、label に分岐します。 label が省略された場合は、スクリプトの
              末尾に分岐します。 このコマンドは GNU 拡張です。

       w filename
              現在のパターンスペースを filename に書き込みます。

       W filename
              現在のパターンスペースの先頭行を filename に書き込みます。 このコマンドは GNU  拡張
              です。

       x      ホールドスペースとパターンスペースの内容を交換します。

       y/source/dest/
              パターンスペースにある文字のうち、source  にあるものを、dest の同じ位置にある文字に
              置換します。

アドレス

       sed のコマンドはアドレスなしで指定することもでき、この場合そのコマンドは全ての入力行に対し
       て実行されます。  アドレスをひとつ指定すると、コマンドはそのアドレスにマッチした入力行に対
       してのみ実行されます。 2 つのアドレスを指定すると、最初のアドレスにマッチした行から、2  番
       目のアドレスにマッチした行に至る範囲 (両マッチ行を含む) にあるすべての行に対して実行されま
       す。 アドレスの範囲指定については次の 3 点に注意してください。 まず指定方法は  addr1,addr2
       です (つまりアドレスをコンマで区切ります)。 addr1 にマッチした行は、たとえaddr2 がそれ以前
       の行にマッチする場合でも、常に処理対象となります。 addr2regexp  (正規表現)  の場合に
       は、addr1 にマッチした行に対しては addr2 のマッチは行われません。

       アドレス (あるいはアドレス範囲) とコマンドの間には ! を挟むことができます。 この場合は、ア
       ドレス (あるいはアドレス範囲) がマッチしなかった行に対してのみコマンドが実行されます。

       以下のアドレスタイプがサポートされています。

       number number で指定した行にのみマッチします (コマンドラインで -s オプションを指定していな
              い場合、行数はファイル間で通算でカウントされます)。

       first~step
              first 行からはじまる step 行おきの行にマッチします。 例えば “sed -n 1~2p” は 入力行
              のうち奇数行を出力し、アドレスを 2~5 にすると、第 2 行から  5  行おきに表示します。
              first は 0 を指定することが可能です。 この場合、step に等しい値が指定されたものとし
              て sed は処理します (これは GNU 拡張です)。

       $      最終行にマッチします。

       /regexp/
              正規表現 regexp に合致するような行にマッチします。 マッチングは現在のパターン領域に
              おいて行われます。 これは “s///” のようなコマンドにより変更されます。

       \cregexpc
              正規表現 regexp にマッチした行にマッチします。 c には任意の文字を指定できます。

       GNU sed は、次の特殊な 2 アドレス形式もサポートします。

       0,addr2
              「先頭アドレスにマッチした状態」で開始し、addr2    が見つかるまでその状態を維持しま
              す。 これは、1,addr2 に類似していますが、次の点において挙動が異なります。 addr2  が
              入力の先頭行にマッチする場合、0,addr2  形式ではアドレス範囲の終了位置にあるとみなさ
              れますが、1,addr2 形式ではアドレス範囲の開始位置にあるとみなされます。 このアドレス
              指定は、addr2 が正規表現の場合にのみ機能します。

       addr1,+N
              addr1 から、addr1 以降の N 行にマッチします。

       addr1,~N
              addr1 から、addr1 以降の、入力行番号が N の倍数の行までマッチします。

正規表現

       POSIX.2  BRE をサポートするべきですが、性能上の問題により完全にはサポートしていません。 正
       規表現内部の  \n  シーケンスは改行文字にマッチし、\a\t、およびその他のシーケンスも同様で
       す。 このかわりに -E オプションは拡張正規表現の利用に切り替えるものです。 この拡張正規表現
       は、これまでに長らく GNU sed においてサポートされ、現在は  POSIX  に含まれるようになりまし
       た。

バグ

       バグレポートは  bug-sed@gnu.org まで送ってください。また可能であれば、 「sed --version」の
       出力結果をレポート本文に記載してください。

著者

       Jay Fenlason, Tom Lord, Ken Pizzini, Paolo Bonzini, Jim Meyering, Assaf Gordon.

       この sed プログラムは SELinux サポートを含めてビルドされています。このシステム上においては
       SELinux が有効です。

       GNU  sed ホームページ: <https://www.gnu.org/software/sed/>. GNU ソフトウェアを使用する際の
       一般的なヘルプ:    <https://www.gnu.org/gethelp/>.     電子メールによるバグレポートの宛先:
       <bug-sed@gnu.org>

著作権

       Copyright  ©  2020  Free  Software  Foundation, Inc.  License GPLv3+: GNU GPL version 3 or
       later <https://gnu.org/licenses/gpl.html>.
       This is free software: you are free to change and redistribute it.  There is NO  WARRANTY,
       to the extent permitted by law.

関連項目

       awk(1), ed(1), grep(1), tr(1), perlre(1), sed.info, sed に関するさまざまな本, sed FAQ
       (http://sed.sf.net/grabbag/tutorials/sedfaq.txt), http://sed.sf.net/grabbag/.

       sed の完全な文書は、Texinfo マニュアルでメンテナンスされています。infosed プログラムが
       適切にインストールされていれば、

              info sed

       で、完全なマニュアルを参照することができます。