OSDN Git Service

446dae1faed06d1babdf228d716b95832e8916dd
[linuxjm/jm.git] / manual / GNU_sed / release / man1 / sed.1
1 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.28.
2 .\"*******************************************************************
3 .\"
4 .\" This file was generated with po4a. Translate the source file.
5 .\"
6 .\"*******************************************************************
7 .\"
8 .\" Japanese Version Copyright (c) 2001 NAKANO Takeo all rights reserved.
9 .\" Translated Mon 7 May 2001 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
10 .\" Updated Thu 4 Apr 2013 by Jiro Matsuzawa <jmatsuzawa@gnome.org>
11 .\"
12 .TH SED 1 2012年12月 "sed 4.2.2" ユーザコマンド
13 .SH 名前
14 sed \- テキストのフィルタリング、変換用のストリームエディタ
15 .SH 書式
16 \fBsed\fP [\fIOPTION\fP]... \fI{script\-only\-if\-no\-other\-script} \fP[\fIinput\-file\fP]...
17 .SH 説明
18 .ds sd \fIsed\fP
19 .ds Sd \fISed\fP
20 \*(sd はストリームエディタである。ストリームエディタは、入力ストリーム (ファイルまたはパイプラインからの入力)
21 に対して基本的なテキスト変換を行うために用いられる。\*(sd は 編集スクリプトを使える (\fIed\fP のような) エディタと
22 いろいろな面で似ているが、\*(sd は入力に対して 1 パスだけで動作するので、より効率的である。また \*(sd
23 はパイプラインのテキストに対してフィルタ動作を行うことができ、この点は他のタイプのエディタとはっきり違う。
24 .HP
25 \fB\-n\fP, \fB\-\-quiet\fP, \fB\-\-silent\fP
26 .IP
27 パターンスペースの自動出力を抑制する
28 .HP
29 \fB\-e\fP script, \fB\-\-expression\fP=\fIscript\fP
30 .IP
31 実行するコマンドとして \fIscript\fP を追加する
32 .HP
33 \fB\-f\fP script\-file, \fB\-\-file\fP=\fIscript\-file\fP
34 .IP
35 実行するコマンドとして \fIscript\-file\fP の内容を追加する
36 .HP
37 \fB\-\-follow\-symlinks\fP
38 .IP
39 インプレース処理においてシンボリックリンクを辿る
40 .HP
41 \fB\-i[SUFFIX]\fP, \fB\-\-in\-place\fP[=\fISUFFIX\fP]
42 .IP
43 ファイルをインプレース処理で編集する (SUFFIX 指定時はバックアップを取る)
44 .HP
45 \fB\-l\fP N, \fB\-\-line\-length\fP=\fIN\fP
46 .IP
47 `l' コマンドの出力行を折り返す長さを指定する
48 .HP
49 \fB\-\-posix\fP
50 .IP
51 全ての GNU 拡張を無効にする
52 .HP
53 \fB\-r\fP, \fB\-\-regexp\-extended\fP
54 .IP
55 スクリプトで拡張正規表現を使用する
56 .HP
57 \fB\-s\fP, \fB\-\-separate\fP
58 .IP
59 複数の入力ファイルを一続きのストリームとして扱わずに個別のファイルとして扱う
60 .HP
61 \fB\-u\fP, \fB\-\-unbuffered\fP
62 .IP
63 入力ファイルからデータをごく少量ずつ取り込み、頻繁に出力バッファを掃き出す (flush)
64 .HP
65 \fB\-z\fP, \fB\-\-null\-data\fP
66 .IP
67 NUL 文字で行を分割する
68 .TP 
69 \fB\-\-help\fP
70 ヘルプを表示して終了する
71 .TP 
72 \fB\-\-version\fP
73 バージョン情報を出力して終了する
74 .PP
75 \fB\-e\fP、\fB\-\-expression\fP、\fB\-f\fP、または \fB\-\-file\fP オプションのいずれも指定されない場合、最初のオプションでない引き数が
76 sed スクリプトとして解釈される。残りの全ての引き数は入力ファイル名として扱われる。入力ファイルが指定されない場合は、標準入力から読み込む。
77 .PP
78 GNU sed ホームページ: <http://www.gnu.org/software/sed/>. GNU
79 ソフトウェアを使用する際の一般的なヘルプ:
80 <http://www.gnu.org/gethelp/>. 電子メールによるバグレポートの宛先:
81 <bug\-sed@gnu.org>. 「Subject: 」フィールドのどこかに「sed」を記載してください。
82 .SH コマンドの文法
83 これは \*(sd コマンドのごく簡単な概要であり、既に sed を知っている人向けの備忘録程度のものである。より詳細な情報については、他の文書
84 (texinfo 文書など) を参照すること。
85 .SS アドレスを取らないコマンド
86 .TP 
87 :\ \fIlabel\fP
88 \fBb\fP コマンドと \fBt\fP コマンド用のラベル。
89 .TP 
90 #\fIcomment\fP
91 次の改行文字まで (あるいは \fB\-e\fP スクリプトフラグメントの末尾まで) をコメントとして取り扱う。
92 .TP 
93 }
94 { } ブロックの閉じ括弧。
95 .SS "アドレスを 0 または 1 個取るコマンド"
96 .TP 
97 =
98 現在の行番号を出力する。
99 .TP 
100 a \e
101 .TP 
102 \fItext\fP
103 \fItext\fP を追加する。\fItext\fP に改行を含める場合は、各改行の前にバックスラッシュを置く。
104 .TP 
105 i \e
106 .TP 
107 \fItext\fP
108 \fItext\fP を挿入する。\fItext\fP に改行を含める場合は、各改行の前にバックスラッシュを置く。
109 .TP 
110 q [\fIexit\-code\fP]
111 これ以上入力を処理せず、ただちに \*(sd
112 スクリプトの処理を終了する。ただし自動出力が抑制されていない場合、現在のパターンスペースが出力される。引き数 exit\-code は GNU
113 拡張である。
114 .TP 
115 Q [\fIexit\-code\fP]
116 これ以上入力を処理せず、ただちに \*(sd スクリプトの処理を終了する。引き数 exit\-code は GNU 拡張である。
117 .TP 
118 r\ \fIfilename\fP
119 \fIfilename\fP から読み込んだテキストを追加する。
120 .TP 
121 R\ \fIfilename\fP
122 \fIfilename\fP から 1 行読み込み、追加する。コマンドを起動するたびにファイルから次の 1 行を読み込む。このコマンドは GNU 拡張である。
123 .SS アドレス範囲を指定できるコマンド
124 .TP 
125 {
126 コマンドブロックを開始する (} で終了する)。
127 .TP 
128 b\ \fIlabel\fP
129 \fIlabel\fP に分岐する。\fIlabel\fP が省略された場合は、スクリプトの末尾に分岐する。
130 .TP 
131 c \e
132 .TP 
133 \fItext\fP
134 選択した行を \fItext\fP で置換する。\fItext\fP に改行を含めたい場合は、その前にバックスラッシュを置く。
135 .TP 
136 d
137 パターンスペースを削除する。次のサイクルを開始する。
138 .TP 
139 D
140 パターンスペースに改行がない場合は、d
141 コマンドと同様に通常の次のサイクルを開始する。そうでない場合は、パターンスペースの最初の改行までを削除し、次の入力行を読み込まずに、その結果のパターンスペースでサイクルを開始する。
142 .TP 
143 h H
144 パターンスペースをホールドスペースにコピー/追加する。
145 .TP 
146 g G
147 ホールドスペースをパターンスペースにコピー/追加する。
148 .TP 
149 l
150 現在の行を「視覚的に曖昧性のない」形式でリストする。
151 .TP 
152 l\ \fIwidth\fP
153 現在の行を「視覚的に曖昧性のない」形式でリストし、\fIwidth\fP の文字で折り返す。このコマンドは GNU 拡張である。
154 .TP 
155 n N
156 入力の次の行をパターンスペースに読み込む/追加する。
157 .TP 
158 p
159 現在のパターンスペースを出力する。
160 .TP 
161 P
162 現在のパターンスペースの最初の改行までを出力する。
163 .TP 
164 s/\fIregexp\fP/\fIreplacement\fP/
165 パターンスペースに対して \fIregexp\fP のマッチを試みる。マッチに成功すると、マッチした部分を \fIreplacement\fP
166 に置換する。\fIreplacement\fP には特殊文字である \fB&\fP を含めることができ、これはパターンスペースのマッチした部分を参照する。また
167 \e1 から \e9 までの特殊エスケープを含むこともでき、これは \fIregexp\fP の部分正規表現 (sub\-expression)
168 にマッチした部分をそれぞれ参照する。
169 .TP 
170 t\ \fIlabel\fP
171 直近の入力行が読み込まれて以降、かつ、直近の t あるいは T コマンド以降に、s コマンドが成功していれば、\fIlabel\fP
172 に分岐する。\fIlabel\fP が省略された場合は、スクリプトの末尾に分岐する。
173 .TP 
174 T\ \fIlabel\fP
175 直近の入力行が読み込まれて以降、かつ、直近の t あるいは T コマンド以降に、s コマンドが成功していなければ、\fIlabel\fP
176 に分岐する。\fIlabel\fP が省略された場合は、スクリプトの末尾に分岐する。このコマンドは GNU 拡張である。
177 .TP 
178 w\ \fIfilename\fP
179 現在のパターンスペースを \fIfilename\fP に書き込む。
180 .TP 
181 W\ \fIfilename\fP
182 現在のパターンスペースの先頭行を \fIfilename\fP に書き込む。このコマンドは GNU 拡張である。
183 .TP 
184 x
185 ホールドスペースとパターンスペースの内容を交換する。
186 .TP 
187 y/\fIsource\fP/\fIdest\fP/
188 パターンスペースにある文字のうち、\fIsource\fP にあるものを、\fIdest\fP の同じ位置にある文字に置換する。
189 .SH アドレス
190 \*(sd
191 のコマンドはアドレスなしで指定することもでき、この場合そのコマンドは全ての入力行に対して実行される。アドレスをひとつ指定すると、コマンドはそのアドレスにマッチした入力行に対してのみ実行される。2
192 つのアドレスを指定ると、最初のアドレスにマッチした行から、2 番目のアドレスにマッチした行に至る範囲 (両マッチ行を含む)
193 にあるすべての行に対して実行される。アドレスの範囲指定については次の 3 点を注意しておく。まず指定方法は \fIaddr1\fP,\fIaddr2\fP である
194 (つまりアドレスをコンマで区切る)。\fIaddr1\fP にマッチした行は、たとえ\fIaddr2\fP
195 がそれ以前の行にマッチする場合でも、常に処理対象となる。\fIaddr2\fP が \fIregexp\fP (正規表現) の場合には、\fIaddr1\fP
196 にマッチした行に対しては \fIaddr2\fP のマッチは行われない。
197 .PP
198 アドレス (あるいはアドレス範囲) とコマンドの間には \fB!\fP を挟むことができる。この場合は、アドレス (あるいはアドレス範囲)
199 が\fBマッチしなかった\fP行に対してのみコマンドが実行される。
200 .PP
201 以下のアドレスタイプがサポートされている。
202 .TP 
203 \fInumber\fP
204 \fInumber\fP で指定した行にのみマッチする (コマンドラインで \fB\-s\fP
205 オプションを指定していない場合、行数はファイル間で通算でカウントされる)
206 .TP 
207 \fIfirst\fP~\fIstep\fP
208 \fIfirst\fP 行からはじまる \fIstep\fP 行おきの行にマッチする。例えば \*(lqsed \-n 1~2p\*(rq は
209 入力行のうち奇数行を出力し、アドレスを 2~5 にすると、第 2 行から 5 行おきに表示する。\fIfirst\fP は 0
210 を指定することが可能である。この場合、\fIstep\fP に等しい値が指定されたものとして \*(sd は処理する。(これは GNU 拡張である)。
211 .TP 
212 $
213 最終行にマッチする。
214 .TP 
215 /\fIregexp\fP/
216 正規表現 \fIregexp\fP にマッチした行にマッチする。
217 .TP 
218 \e\fBc\fP\fIregexp\fP\fBc\fP
219 正規表現 \fIregexp\fP にマッチした行にマッチする。\fBc\fP には任意の文字を指定できる。
220 .PP
221 GNU \*(sd は、次の特殊な 2 アドレス形式もサポートする。
222 .TP 
223 0,\fIaddr2\fP
224 「先頭アドレスにマッチした状態」で開始し、\fIaddr2\fP が見つかるまでその状態を維持する。これは、1,\fIaddr2\fP
225 に類似しているが、次の点において挙動が異なる。\fIaddr2\fP が入力の先頭行にマッチする場合、0,\fIaddr2\fP
226 形式ではアドレス範囲の終了位置にあるとみなされるが、1,\fIaddr2\fP
227 形式ではアドレス範囲の開始位置にあるとみなされる。このアドレス指定は、\fIaddr2\fP が正規表現の場合にのみ機能する。
228 .TP 
229 \fIaddr1\fP,+\fIN\fP
230 \fIaddr1\fP から、\fIaddr1\fP 以降の \fIN\fP 行にマッチする。
231 .TP 
232 \fIaddr1\fP,~\fIN\fP
233 \fIaddr1\fP から、\fIaddr1\fP 以降の、入力行番号が \fIN\fP の倍数の行までマッチする。
234 .SH 正規表現
235 POSIX.2 BRE をサポートする\fIべき\fPであるが、性能上の問題により完全にはサポートしていない。正規表現内部の \fB\en\fP
236 シーケンスは改行文字にマッチし、\fB\ea\fP、\fB\et\fP、およびその他のシーケンスも同様である。
237 .SH バグ
238 .PP
239 バグレポートは \fBbug\-sed@gnu.org\fP まで送ってください。また、可能であれば、「sed
240 \-\-version」の出力結果をレポート本文に記載してください。
241 .SH 著者
242 作者: Jay Fenlason, Tom Lord, Ken Pizzini, および Paolo Bonzini。GNU sed ホームページ:
243 <http://www.gnu.org/software/sed/>。GNU ソフトウェアを使用する際の一般的なヘルプ:
244 <http://www.gnu.org/gethelp/>。電子メールによるバグレポートの宛先:
245 <bug\-sed@gnu.org>。「Subject: 」フィールドのどこかに「sed」を記載してください。
246 .SH 著作権
247 Copyright \(co 2012 Free Software Foundation, Inc.  License GPLv3+: GNU GPL
248 version 3 or later <http://gnu.org/licenses/gpl.html>.
249 .br
250 This is free software: you are free to change and redistribute it.  There is
251 NO WARRANTY, to the extent permitted by law.
252 .SH 関連項目
253 \fBawk\fP(1), \fBed\fP(1), \fBgrep\fP(1), \fBtr\fP(1), \fBperlre\fP(1), sed.info, \*(sd
254 に関する様々な本,
255 .na
256 \*(sd FAQ (http://sed.sf.net/grabbag/tutorials/sedfaq.txt),
257 http://sed.sf.net/grabbag/.
258 .PP
259 \fBsed\fP の完全な文書は、Texinfo マニュアルでメンテナンスされている。\fBinfo\fP と \fBsed\fP
260 プログラムが適切にインストールされていれば、
261 .IP
262 \fBinfo sed\fP
263 .PP
264 で、完全なマニュアルを参照することができる。