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

名前

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

書式

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

説明

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

       -n, --quiet, --silent

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

       -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 拡張を無効にする

       -r, --regexp-extended

              スクリプトで拡張正規表現を使用する

       -s, --separate

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

       -u, --unbuffered

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

       -z, --null-data

              NUL 文字で行を分割する

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

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

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

       GNU sed ホームページ: <http://www.gnu.org/software/sed/>. GNU ソフトウェアを使用する際の一
       般的なヘルプ:      <http://www.gnu.org/gethelp/>.      電子メールによるバグレポートの宛先:
       <bug-sed@gnu.org>. 「Subject: 」フィールドのどこかに「sed」を記載してください。

コマンドの文法

       これは 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 にマッチした行にマッチする。

       \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、およびその他のシーケンスも同様であ
       る。

バグ

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

著者

       作者: Jay Fenlason, Tom Lord, Ken Pizzini, および  Paolo  Bonzini。GNU  sed  ホームページ:
       <http://www.gnu.org/software/sed/>。GNU          ソフトウェアを使用する際の一般的なヘルプ:
       <http://www.gnu.org/gethelp/>。電子メールによるバグレポートの宛先:
       <bug-sed@gnu.org>。「Subject: 」フィールドのどこかに「sed」を記載してください。

著作権

       Copyright  ©  2012  Free  Software  Foundation, Inc.  License GPLv3+: GNU GPL version 3 or
       later <http://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

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