.\" 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 .\" translated for 4.8, 2022-05-03 .\" .TH SED 1 2020/01 "sed 4.8" ユーザーコマンド .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\-\-debug\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\-E\fP, \fB\-r\fP, \fB\-\-regexp\-extended\fP .IP スクリプトで拡張正規表現を使用します (\fB\-E\fP 利用は POSIX 互換性のため) .HP \fB\-s\fP, \fB\-\-separate\fP .IP 複数の入力ファイルを一続きのストリームとして扱わずに個別のファイルとして扱います .HP \fB\-\-sandbox\fP .IP サンドボックス (sandbox) モードで実行します (e/r/w コマンドを無効にします) .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 ソフトウェアを使用する際の一般的なヘルプ: . 電子メールによるバグレポートの宛先: .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 に合致するような行にマッチします。 マッチングは現在のパターン領域において行われます。 これは \*(lqs///\*(rq のようなコマンドにより変更されます。 .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、およびその他のシーケンスも同様です。 このかわりに \fI\-E\fP オプションは拡張正規表現の利用に切り替えるものです。 この拡張正規表現は、これまでに長らく GNU sed においてサポートされ、現在は POSIX に含まれるようになりました。 .SH バグ .PP バグレポートは \fBbug\-sed@gnu.org\fP まで送ってください。また可能であれば、 「sed \-\-version」の出力結果をレポート本文に記載してください。 .SH 著者 Jay Fenlason, Tom Lord, Ken Pizzini, Paolo Bonzini, Jim Meyering, Assaf Gordon. .PP この sed プログラムは SELinux サポートを含めてビルドされています。このシステム上においては SELinux が有効です。 .PP GNU sed ホームページ: . GNU ソフトウェアを使用する際の一般的なヘルプ: . 電子メールによるバグレポートの宛先: .SH 著作権 Copyright \(co 2020 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 で、完全なマニュアルを参照することができます。