.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.28. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .\" .\" Japanese Version Copyright (c) 2001 NAKANO Takeo all rights reserved. .\" Translated Mon 7 May 2001 by NAKANO Takeo .\" Updated Thu 4 Apr 2013 by Jiro Matsuzawa .\" .TH SED 1 2012年12月 "sed 4.2.2" ユーザコマンド .SH 名前 sed \- テキストのフィルタリング、変換用のストリームエディタ .SH 書式 \fBsed\fP [\fIOPTION\fP]... \fI{script\-only\-if\-no\-other\-script} \fP[\fIinput\-file\fP]... .SH 説明 .ds sd \fIsed\fP .ds Sd \fISed\fP \*(sd はストリームエディタである。ストリームエディタは、入力ストリーム (ファイルまたはパイプラインからの入力) に対して基本的なテキスト変換を行うために用いられる。\*(sd は 編集スクリプトを使える (\fIed\fP のような) エディタと いろいろな面で似ているが、\*(sd は入力に対して 1 パスだけで動作するので、より効率的である。また \*(sd はパイプラインのテキストに対してフィルタ動作を行うことができ、この点は他のタイプのエディタとはっきり違う。 .HP \fB\-n\fP, \fB\-\-quiet\fP, \fB\-\-silent\fP .IP パターンスペースの自動出力を抑制する .HP \fB\-e\fP script, \fB\-\-expression\fP=\fIscript\fP .IP 実行するコマンドとして \fIscript\fP を追加する .HP \fB\-f\fP script\-file, \fB\-\-file\fP=\fIscript\-file\fP .IP 実行するコマンドとして \fIscript\-file\fP の内容を追加する .HP \fB\-\-follow\-symlinks\fP .IP インプレース処理においてシンボリックリンクを辿る .HP \fB\-i[SUFFIX]\fP, \fB\-\-in\-place\fP[=\fISUFFIX\fP] .IP ファイルをインプレース処理で編集する (SUFFIX 指定時はバックアップを取る) .HP \fB\-l\fP N, \fB\-\-line\-length\fP=\fIN\fP .IP `l' コマンドの出力行を折り返す長さを指定する .HP \fB\-\-posix\fP .IP 全ての GNU 拡張を無効にする .HP \fB\-r\fP, \fB\-\-regexp\-extended\fP .IP スクリプトで拡張正規表現を使用する .HP \fB\-s\fP, \fB\-\-separate\fP .IP 複数の入力ファイルを一続きのストリームとして扱わずに個別のファイルとして扱う .HP \fB\-u\fP, \fB\-\-unbuffered\fP .IP 入力ファイルからデータをごく少量ずつ取り込み、頻繁に出力バッファを掃き出す (flush) .HP \fB\-z\fP, \fB\-\-null\-data\fP .IP NUL 文字で行を分割する .TP \fB\-\-help\fP ヘルプを表示して終了する .TP \fB\-\-version\fP バージョン情報を出力して終了する .PP \fB\-e\fP、\fB\-\-expression\fP、\fB\-f\fP、または \fB\-\-file\fP オプションのいずれも指定されない場合、最初のオプションでない引き数が sed スクリプトとして解釈される。残りの全ての引き数は入力ファイル名として扱われる。入力ファイルが指定されない場合は、標準入力から読み込む。 .PP GNU sed ホームページ: . GNU ソフトウェアを使用する際の一般的なヘルプ: . 電子メールによるバグレポートの宛先: . 「Subject: 」フィールドのどこかに「sed」を記載してください。 .SH コマンドの文法 これは \*(sd コマンドのごく簡単な概要であり、既に sed を知っている人向けの備忘録程度のものである。より詳細な情報については、他の文書 (texinfo 文書など) を参照すること。 .SS アドレスを取らないコマンド .TP :\ \fIlabel\fP \fBb\fP コマンドと \fBt\fP コマンド用のラベル。 .TP #\fIcomment\fP 次の改行文字まで (あるいは \fB\-e\fP スクリプトフラグメントの末尾まで) をコメントとして取り扱う。 .TP } { } ブロックの閉じ括弧。 .SS "アドレスを 0 または 1 個取るコマンド" .TP = 現在の行番号を出力する。 .TP a \e .TP \fItext\fP \fItext\fP を追加する。\fItext\fP に改行を含める場合は、各改行の前にバックスラッシュを置く。 .TP i \e .TP \fItext\fP \fItext\fP を挿入する。\fItext\fP に改行を含める場合は、各改行の前にバックスラッシュを置く。 .TP q [\fIexit\-code\fP] これ以上入力を処理せず、ただちに \*(sd スクリプトの処理を終了する。ただし自動出力が抑制されていない場合、現在のパターンスペースが出力される。引き数 exit\-code は GNU 拡張である。 .TP Q [\fIexit\-code\fP] これ以上入力を処理せず、ただちに \*(sd スクリプトの処理を終了する。引き数 exit\-code は GNU 拡張である。 .TP r\ \fIfilename\fP \fIfilename\fP から読み込んだテキストを追加する。 .TP R\ \fIfilename\fP \fIfilename\fP から 1 行読み込み、追加する。コマンドを起動するたびにファイルから次の 1 行を読み込む。このコマンドは GNU 拡張である。 .SS アドレス範囲を指定できるコマンド .TP { コマンドブロックを開始する (} で終了する)。 .TP b\ \fIlabel\fP \fIlabel\fP に分岐する。\fIlabel\fP が省略された場合は、スクリプトの末尾に分岐する。 .TP c \e .TP \fItext\fP 選択した行を \fItext\fP で置換する。\fItext\fP に改行を含めたい場合は、その前にバックスラッシュを置く。 .TP d パターンスペースを削除する。次のサイクルを開始する。 .TP D パターンスペースに改行がない場合は、d コマンドと同様に通常の次のサイクルを開始する。そうでない場合は、パターンスペースの最初の改行までを削除し、次の入力行を読み込まずに、その結果のパターンスペースでサイクルを開始する。 .TP h H パターンスペースをホールドスペースにコピー/追加する。 .TP g G ホールドスペースをパターンスペースにコピー/追加する。 .TP l 現在の行を「視覚的に曖昧性のない」形式でリストする。 .TP l\ \fIwidth\fP 現在の行を「視覚的に曖昧性のない」形式でリストし、\fIwidth\fP の文字で折り返す。このコマンドは GNU 拡張である。 .TP n N 入力の次の行をパターンスペースに読み込む/追加する。 .TP p 現在のパターンスペースを出力する。 .TP P 現在のパターンスペースの最初の改行までを出力する。 .TP s/\fIregexp\fP/\fIreplacement\fP/ パターンスペースに対して \fIregexp\fP のマッチを試みる。マッチに成功すると、マッチした部分を \fIreplacement\fP に置換する。\fIreplacement\fP には特殊文字である \fB&\fP を含めることができ、これはパターンスペースのマッチした部分を参照する。また \e1 から \e9 までの特殊エスケープを含むこともでき、これは \fIregexp\fP の部分正規表現 (sub\-expression) にマッチした部分をそれぞれ参照する。 .TP t\ \fIlabel\fP 直近の入力行が読み込まれて以降、かつ、直近の t あるいは T コマンド以降に、s コマンドが成功していれば、\fIlabel\fP に分岐する。\fIlabel\fP が省略された場合は、スクリプトの末尾に分岐する。 .TP T\ \fIlabel\fP 直近の入力行が読み込まれて以降、かつ、直近の t あるいは T コマンド以降に、s コマンドが成功していなければ、\fIlabel\fP に分岐する。\fIlabel\fP が省略された場合は、スクリプトの末尾に分岐する。このコマンドは GNU 拡張である。 .TP w\ \fIfilename\fP 現在のパターンスペースを \fIfilename\fP に書き込む。 .TP W\ \fIfilename\fP 現在のパターンスペースの先頭行を \fIfilename\fP に書き込む。このコマンドは GNU 拡張である。 .TP x ホールドスペースとパターンスペースの内容を交換する。 .TP y/\fIsource\fP/\fIdest\fP/ パターンスペースにある文字のうち、\fIsource\fP にあるものを、\fIdest\fP の同じ位置にある文字に置換する。 .SH アドレス \*(sd のコマンドはアドレスなしで指定することもでき、この場合そのコマンドは全ての入力行に対して実行される。アドレスをひとつ指定すると、コマンドはそのアドレスにマッチした入力行に対してのみ実行される。2 つのアドレスを指定すると、最初のアドレスにマッチした行から、2 番目のアドレスにマッチした行に至る範囲 (両マッチ行を含む) にあるすべての行に対して実行される。アドレスの範囲指定については次の 3 点を注意しておく。まず指定方法は \fIaddr1\fP,\fIaddr2\fP である (つまりアドレスをコンマで区切る)。\fIaddr1\fP にマッチした行は、たとえ\fIaddr2\fP がそれ以前の行にマッチする場合でも、常に処理対象となる。\fIaddr2\fP が \fIregexp\fP (正規表現) の場合には、\fIaddr1\fP にマッチした行に対しては \fIaddr2\fP のマッチは行われない。 .PP アドレス (あるいはアドレス範囲) とコマンドの間には \fB!\fP を挟むことができる。この場合は、アドレス (あるいはアドレス範囲) が\fBマッチしなかった\fP行に対してのみコマンドが実行される。 .PP 以下のアドレスタイプがサポートされている。 .TP \fInumber\fP \fInumber\fP で指定した行にのみマッチする (コマンドラインで \fB\-s\fP オプションを指定していない場合、行数はファイル間で通算でカウントされる) .TP \fIfirst\fP~\fIstep\fP \fIfirst\fP 行からはじまる \fIstep\fP 行おきの行にマッチする。例えば \*(lqsed \-n 1~2p\*(rq は 入力行のうち奇数行を出力し、アドレスを 2~5 にすると、第 2 行から 5 行おきに表示する。\fIfirst\fP は 0 を指定することが可能である。この場合、\fIstep\fP に等しい値が指定されたものとして \*(sd は処理する。(これは GNU 拡張である)。 .TP $ 最終行にマッチする。 .TP /\fIregexp\fP/ 正規表現 \fIregexp\fP にマッチした行にマッチする。 .TP \e\fBc\fP\fIregexp\fP\fBc\fP 正規表現 \fIregexp\fP にマッチした行にマッチする。\fBc\fP には任意の文字を指定できる。 .PP GNU \*(sd は、次の特殊な 2 アドレス形式もサポートする。 .TP 0,\fIaddr2\fP 「先頭アドレスにマッチした状態」で開始し、\fIaddr2\fP が見つかるまでその状態を維持する。これは、1,\fIaddr2\fP に類似しているが、次の点において挙動が異なる。\fIaddr2\fP が入力の先頭行にマッチする場合、0,\fIaddr2\fP 形式ではアドレス範囲の終了位置にあるとみなされるが、1,\fIaddr2\fP 形式ではアドレス範囲の開始位置にあるとみなされる。このアドレス指定は、\fIaddr2\fP が正規表現の場合にのみ機能する。 .TP \fIaddr1\fP,+\fIN\fP \fIaddr1\fP から、\fIaddr1\fP 以降の \fIN\fP 行にマッチする。 .TP \fIaddr1\fP,~\fIN\fP \fIaddr1\fP から、\fIaddr1\fP 以降の、入力行番号が \fIN\fP の倍数の行までマッチする。 .SH 正規表現 POSIX.2 BRE をサポートする\fIべき\fPであるが、性能上の問題により完全にはサポートしていない。正規表現内部の \fB\en\fP シーケンスは改行文字にマッチし、\fB\ea\fP、\fB\et\fP、およびその他のシーケンスも同様である。 .SH バグ .PP バグレポートは \fBbug\-sed@gnu.org\fP まで送ってください。また、可能であれば、「sed \-\-version」の出力結果をレポート本文に記載してください。 .SH 著者 作者: Jay Fenlason, Tom Lord, Ken Pizzini, および Paolo Bonzini。GNU sed ホームページ: 。GNU ソフトウェアを使用する際の一般的なヘルプ: 。電子メールによるバグレポートの宛先: 。「Subject: 」フィールドのどこかに「sed」を記載してください。 .SH 著作権 Copyright \(co 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH 関連項目 \fBawk\fP(1), \fBed\fP(1), \fBgrep\fP(1), \fBtr\fP(1), \fBperlre\fP(1), sed.info, \*(sd に関する様々な本, .na \*(sd FAQ (http://sed.sf.net/grabbag/tutorials/sedfaq.txt), http://sed.sf.net/grabbag/. .PP \fBsed\fP の完全な文書は、Texinfo マニュアルでメンテナンスされている。\fBinfo\fP と \fBsed\fP プログラムが適切にインストールされていれば、 .IP \fBinfo sed\fP .PP で、完全なマニュアルを参照することができる。