[原文]
.TH SED "1" "January 2020" "sed 4.8" "User Commands"
[訳文]
.TH SED 1 2020年1月 "sed 4.8" ユーザーコマンド
----------------------------------------
[原文]
.SH NAME
sed - stream editor for filtering and transforming text
[訳文]
.SH 名前
sed -
テキストのフィルタリング、変換用のストリームエディター
----------------------------------------
[原文]
.SH SYNOPSIS
.B sed [OPTION]... {script-only-if-no-other-script}
[input-file]...
[訳文]
.SH 書式
sed [OPTION]... {script-only-if-no-other-script}
[input-file]...
----------------------------------------
[原文]
.SH DESCRIPTION
.ds sd sed .ds Sd Sed \*(Sd is a stream editor. A stream
editor is used to perform basic text transformations on an
input stream (a file or input from a pipeline). While in
some ways similar to an editor which permits scripted edits
(such as ed), \*(sd works by making only one pass over the
input(s), and is consequently more efficient. But it is
\*(sd's ability to filter text in a pipeline which
particularly distinguishes it from other types of editors.
[訳文]
.SH 説明
.ds sd sed .ds Sd Sed \*(sd
はストリームエディターである。ストリームエディターは、入力ス
トリーム (ファイルまたはパイプラインからの入力)
に対して基本的なテキスト変換を行うために用いられる。\*(sd
は 編集スクリプトを使える (ed のような) エディターと
いろいろな面で似ているが、\*(sd は入力に対して 1
パスだけで動作するので、より効率的である。また \*(sd
はパイプラインのテキストに対してフィルター動作を行うことがで
き、この点は他のタイプのエディターとはっきり違う。
----------------------------------------
[原文]
.HP
-n, --quiet, --silent
[訳文]
.HP
-n, --quiet, --silent
----------------------------------------
[原文]
.IP
suppress automatic printing of pattern space
[訳文]
.IP
パターンスペースの自動出力を抑制する
----------------------------------------
[原文]
.HP
--debug
[訳文]
.HP
--debug
----------------------------------------
[原文]
.IP
annotate program execution
[訳文]
.IP
プログラム実行状況を表示する
----------------------------------------
[原文]
.HP
-e script, --expression=script
[訳文]
.HP
-e script, --expression=script
----------------------------------------
[原文]
.IP
add the script to the commands to be executed
[訳文]
.IP
実行するコマンドとして script を追加する
----------------------------------------
[原文]
.HP
-f script-file, --file=script-file
[訳文]
.HP
-f script-file, --file=script-file
----------------------------------------
[原文]
.IP
add the contents of script-file to the commands to be
executed
[訳文]
.IP
実行するコマンドとして script-file の内容を追加する
----------------------------------------
[原文]
.HP
--follow-symlinks
[訳文]
.HP
--follow-symlinks
----------------------------------------
[原文]
.IP
follow symlinks when processing in place
[訳文]
.IP
インプレース処理においてシンボリックリンクをたどる
----------------------------------------
[原文]
.HP
-i[SUFFIX], --in-place[=SUFFIX]
[訳文]
.HP
-i[SUFFIX], --in-place[=SUFFIX]
----------------------------------------
[原文]
.IP
edit files in place (makes backup if SUFFIX supplied)
[訳文]
.IP
ファイルをインプレース処理で編集する (SUFFIX
指定時はバックアップを取る)
----------------------------------------
[原文]
.HP
-l N, --line-length=N
[訳文]
.HP
-l N, --line-length=N
----------------------------------------
[原文]
.IP
specify the desired line-wrap length for the `l' command
[訳文]
.IP
`l' コマンドの出力行を折り返す長さを指定する
----------------------------------------
[原文]
.HP
--posix
[訳文]
.HP
--posix
----------------------------------------
[原文]
.IP
disable all GNU extensions.
[訳文]
.IP
全ての GNU 拡張を無効にする
----------------------------------------
[原文]
.HP
-E, -r, --regexp-extended
[訳文]
.HP
-E, -r, --regexp-extended
----------------------------------------
[原文]
.IP
use extended regular expressions in the script (for
portability use POSIX -E).
[訳文]
.IP
スクリプトで拡張正規表現を使用する (-E 利用は POSIX
互換性のため)
----------------------------------------
[原文]
.HP
-s, --separate
[訳文]
.HP
-s, --separate
----------------------------------------
[原文]
.IP
consider files as separate rather than as a single,
continuous long stream.
[訳文]
.IP
複数の入力ファイルを一続きのストリームとして扱わずに個別のフ
ァイルとして扱う
----------------------------------------
[原文]
.HP
--sandbox
[訳文]
.HP
--sandbox
----------------------------------------
[原文]
.IP
operate in sandbox mode (disable e/r/w commands).
[訳文]
.IP
サンドボックス (sandbox) モードで実行する (e/r/w
コマンドを無効にする)
----------------------------------------
[原文]
.HP
-u, --unbuffered
[訳文]
.HP
-u, --unbuffered
----------------------------------------
[原文]
.IP
load minimal amounts of data from the input files and flush
the output buffers more often
[訳文]
.IP
入力ファイルからデータをごく少量ずつ取り込み、頻繁に出力バッ
ファを掃き出す (flush)
----------------------------------------
[原文]
.HP
-z, --null-data
[訳文]
.HP
-z, --null-data
----------------------------------------
[原文]
.IP
separate lines by NUL characters
[訳文]
.IP
NUL 文字で行を分割する
----------------------------------------
[原文]
.TP
--help
display this help and exit
[訳文]
.TP
--help
ヘルプを表示して終了する
----------------------------------------
[原文]
.TP
--version
output version information and exit
[訳文]
.TP
--version
バージョン情報を出力して終了する
----------------------------------------
[原文]
.PP
If no -e, --expression, -f, or --file option is given, then
the first non-option argument is taken as the sed script to
interpret. All remaining arguments are names of input
files; if no input files are specified, then the standard
input is read.
[訳文]
.PP
-e、--expression、-f、または --file
オプションのいずれも指定されない場合、最初のオプションでない
引数が sed スクリプトとして解釈される。
残りの全ての引数は入力ファイル名として扱われる。
入力ファイルが指定されない場合は、標準入力から読み込む。
----------------------------------------
[原文]
.PP
GNU sed home page: .
General help using GNU software:
. E-mail bug reports to:
.
[訳文]
.PP
GNU sed ホームページ: .
GNU ソフトウェアを使用する際の一般的なヘルプ:
.
電子メールによるバグレポートの宛先:
----------------------------------------
[原文]
.SH "COMMAND SYNOPSIS"
This is just a brief synopsis of \*(sd commands to serve as
a reminder to those who already know \*(sd; other
documentation (such as the texinfo document) must be
consulted for fuller descriptions.
[訳文]
.SH コマンドの文法
これは \*(sd コマンドのごく簡単な概要であり、既に sed
を知っている人向けの備忘録程度のものである。
より詳細な情報については、他の文書 (texinfo 文書など)
を参照すること。
----------------------------------------
[原文]
.SS
Zero-address ``commands''
[訳文]
.SS アドレスを取らないコマンド
----------------------------------------
[原文]
.TP
.RI :\ label
Label for .B b and .B t commands.
[訳文]
.TP
:\ label
b コマンドと t コマンド用のラベル。
----------------------------------------
[原文]
.TP
.RI # comment
The comment extends until the next newline (or the end of a
.B -e script fragment).
[訳文]
.TP
#comment
次の改行文字まで (あるいは -e
スクリプトフラグメントの末尾まで)
をコメントとして取り扱う。
----------------------------------------
[原文]
.TP
}
The closing bracket of a { } block.
[訳文]
.TP
}
{ } ブロックの閉じ括弧。
----------------------------------------
[原文]
.SS
Zero- or One- address commands
[訳文]
.SS "アドレスを 0 または 1 つ取るコマンド"
----------------------------------------
[原文]
.TP
=
Print the current line number.
[訳文]
.TP
=
現在の行番号を出力する。
----------------------------------------
[原文]
.TP
a \e
[訳文]
.TP
a \e
----------------------------------------
[原文]
.TP
.I text
Append .IR text , which has each embedded newline preceded
by a backslash.
[訳文]
.TP
text
text を追加する。 text
に改行を含める場合は、各改行の前にバックスラッシュを置く。
----------------------------------------
[原文]
.TP
i \e
[訳文]
.TP
i \e
----------------------------------------
[原文]
.TP
.I text
Insert .IR text , which has each embedded newline preceded
by a backslash.
[訳文]
.TP
text
text を挿入する。 text
に改行を含める場合は、各改行の前にバックスラッシュを置く。
----------------------------------------
[原文]
.TP
q [exit-code]
Immediately quit the \*(sd script without processing any
more input, except that if auto-print is not disabled the
current pattern space will be printed. The exit code
argument is a GNU extension.
[訳文]
.TP
q [exit-code]
これ以上入力を処理せず、ただちに \*(sd
スクリプトの処理を終了する。
ただし自動出力が抑制されていない場合、
現在のパターンスペースが出力される。 引数 exit-code は GNU
拡張である。
----------------------------------------
[原文]
.TP
Q [exit-code]
Immediately quit the \*(sd script without processing any
more input. This is a GNU extension.
[訳文]
.TP
Q [exit-code]
これ以上入力を処理せず、ただちに \*(sd
スクリプトの処理を終了する。 引数 exit-code は GNU
拡張である。
----------------------------------------
[原文]
.TP
.RI r\ filename
Append text read from .IR filename .
[訳文]
.TP
r\ filename
filename から読み込んだテキストを追加する。
----------------------------------------
[原文]
.TP
.RI R\ filename
Append a line read from .IR filename . Each invocation of
the command reads a line from the file. This is a GNU
extension.
[訳文]
.TP
R\ filename
filename から 1 行読み込み、追加する。
コマンドを起動するたびにファイルから次の 1 行を読み込む。
このコマンドは GNU 拡張である。
----------------------------------------
[原文]
.SS
Commands which accept address ranges
[訳文]
.SS アドレス範囲を指定できるコマンド
----------------------------------------
[原文]
.TP
{
Begin a block of commands (end with a }).
[訳文]
.TP
{
コマンドブロックを開始する (} で終了する)。
----------------------------------------
[原文]
.TP
.RI b\ label
Branch to .IR label ; if .I label is omitted, branch to end
of script.
[訳文]
.TP
b\ label
label に分岐する。 label
が省略された場合は、スクリプトの末尾に分岐する。
----------------------------------------
[原文]
.TP
c \e
[訳文]
.TP
c \e
----------------------------------------
[原文]
.TP
.I text
Replace the selected lines with .IR text , which has each
embedded newline preceded by a backslash.
[訳文]
.TP
text
選択した行を text で置換する。 text
に改行を含めたい場合は、その前にバックスラッシュを置く。
----------------------------------------
[原文]
.TP
d
Delete pattern space. Start next cycle.
[訳文]
.TP
d
パターンスペースを削除する。 次のサイクルを開始する。
----------------------------------------
[原文]
.TP
D
If pattern space contains no newline, start a normal new
cycle as if the d command was issued. Otherwise, delete
text in the pattern space up to the first newline, and
restart cycle with the resultant pattern space, without
reading a new line of input.
[訳文]
.TP
D
パターンスペースに改行がない場合は、d
コマンドと同様に通常の次のサイクルを開始する。
そうでない場合は、パターンスペースの最初の改行までを削除し、
次の入力行を読み込まずに、その結果のパターンスペースでサイク
ルを開始する。
----------------------------------------
[原文]
.TP
h H
Copy/append pattern space to hold space.
[訳文]
.TP
h H
パターンスペースをホールドスペースにコピー/追加する。
----------------------------------------
[原文]
.TP
g G
Copy/append hold space to pattern space.
[訳文]
.TP
g G
ホールドスペースをパターンスペースにコピー/追加する。
----------------------------------------
[原文]
.TP
l
List out the current line in a ``visually unambiguous''
form.
[訳文]
.TP
l
現在の行を「視覚的に曖昧性のない」形式で一覧出力する。
----------------------------------------
[原文]
.TP
.RI l\ width
List out the current line in a ``visually unambiguous''
form, breaking it at .I width characters. This is a GNU
extension.
[訳文]
.TP
l\ width
現在の行を「視覚的に曖昧性のない」形式でリストし、width
の文字で折り返す。 このコマンドは GNU 拡張である。
----------------------------------------
[原文]
.TP
n N
Read/append the next line of input into the pattern space.
[訳文]
.TP
n N
入力の次の行をパターンスペースに読み込む/追加する。
----------------------------------------
[原文]
.TP
p
Print the current pattern space.
[訳文]
.TP
p
現在のパターンスペースを出力する。
----------------------------------------
[原文]
.TP
P
Print up to the first embedded newline of the current
pattern space.
[訳文]
.TP
P
現在のパターンスペースの最初の改行までを出力する。
----------------------------------------
[原文]
.TP
.RI s/ regexp / replacement /
Attempt to match .I regexp against the pattern space. If
successful, replace that portion matched with .IR
replacement . The .I replacement may contain the special
character .B & to refer to that portion of the pattern
space which matched, and the special escapes \e1 through
\e9 to refer to the corresponding matching sub-expressions
in the .IR regexp .
[訳文]
.TP
s/regexp/replacement/
パターンスペースに対して regexp のマッチを試みる。
マッチに成功すると、マッチした部分を replacement
に置換する。 replacement には特殊文字である &
を含めることができ、これはパターンスペースのマッチした部分を
参照する。 また \e1 から \e9
までの特殊エスケープを含むこともでき、これは regexp
の部分正規表現 (sub-expression)
にマッチした部分をそれぞれ参照する。
----------------------------------------
[原文]
.TP
.RI t\ label
If a s/// has done a successful substitution since the last
input line was read and since the last t or T command, then
branch to .IR label ; if .I label is omitted, branch to end
of script.
[訳文]
.TP
t\ label
直近の入力行が読み込まれて以降、かつ、直近の t あるいは T
コマンド以降に、s コマンドが成功していれば、label
に分岐する。 label
が省略された場合は、スクリプトの末尾に分岐する。
----------------------------------------
[原文]
.TP
.RI T\ label
If no s/// has done a successful substitution since the
last input line was read and since the last t or T command,
then branch to .IR label ; if .I label is omitted, branch
to end of script. This is a GNU extension.
[訳文]
.TP
T\ label
直近の入力行が読み込まれて以降、かつ、直近の t あるいは T
コマンド以降に、s コマンドが成功していなければ、label
に分岐する。 label
が省略された場合は、スクリプトの末尾に分岐する。
このコマンドは GNU 拡張である。
----------------------------------------
[原文]
.TP
.RI w\ filename
Write the current pattern space to .IR filename .
[訳文]
.TP
w\ filename
現在のパターンスペースを filename に書き込む。
----------------------------------------
[原文]
.TP
.RI W\ filename
Write the first line of the current pattern space to .IR
filename . This is a GNU extension.
[訳文]
.TP
W\ filename
現在のパターンスペースの先頭行を filename に書き込む。
このコマンドは GNU 拡張である。
----------------------------------------
[原文]
.TP
x
Exchange the contents of the hold and pattern spaces.
[訳文]
.TP
x
ホールドスペースとパターンスペースの内容を交換する。
----------------------------------------
[原文]
.TP
.RI y/ source / dest /
Transliterate the characters in the pattern space which
appear in .I source to the corresponding character in .IR
dest .
[訳文]
.TP
y/source/dest/
パターンスペースにある文字のうち、source にあるものを、dest
の同じ位置にある文字に置換する。
----------------------------------------
[原文]
.SH
Addresses \*(Sd commands can be given with no addresses, in
which case the command will be executed for all input
lines; with one address, in which case the command will
only be executed for input lines which match that address;
or with two addresses, in which case the command will be
executed for all input lines which match the inclusive
range of lines starting from the first address and
continuing to the second address. Three things to note
about address ranges: the syntax is .IR addr1 , addr2
(i.e., the addresses are separated by a comma); the line
which .I addr1 matched will always be accepted, even if .I
addr2 selects an earlier line; and if .I addr2 is a .IR
regexp , it will not be tested against the line that .I
addr1 matched.
[訳文]
.SH アドレス
\*(sd
のコマンドはアドレスなしで指定することもでき、この場合そのコ
マンドは全ての入力行に対して実行される。
アドレスをひとつ指定すると、コマンドはそのアドレスにマッチし
た入力行に対してのみ実行される。 2
つのアドレスを指定すると、最初のアドレスにマッチした行から、
2 番目のアドレスにマッチした行に至る範囲 (両マッチ行を含む)
にあるすべての行に対して実行される。
アドレスの範囲指定については次の 3 点を注意しておく。
まず指定方法は addr1,addr2 である
(つまりアドレスをコンマで区切る)。 addr1
にマッチした行は、たとえaddr2
がそれ以前の行にマッチする場合でも、常に処理対象となる。
addr2 が regexp (正規表現) の場合には、addr1
にマッチした行に対しては addr2 のマッチは行われない。
----------------------------------------
[原文]
.PP
After the address (or address-range), and before the
command, a .B ! may be inserted, which specifies that the
command shall only be executed if the address (or
address-range) does .B not match.
[訳文]
.PP
アドレス (あるいはアドレス範囲) とコマンドの間には !
を挟むことができる。 この場合は、アドレス
(あるいはアドレス範囲)
がマッチしなかった行に対してのみコマンドが実行される。
----------------------------------------
[原文]
.PP
The following address types are supported:
[訳文]
.PP
以下のアドレスタイプがサポートされている。
----------------------------------------
[原文]
.TP
.I number
Match only the specified line .IR number (which increments
cumulatively across files, unless the .B -s option is
specified on the command line).
[訳文]
.TP
number
number で指定した行にのみマッチする (コマンドラインで -s
オプションを指定していない場合、行数はファイル間で通算でカウ
ントされる)。
----------------------------------------
[原文]
.TP
.IR first ~ step
Match every .IR step 'th line starting with line .IR first
. For example, ``sed -n 1~2p'' will print all the
odd-numbered lines in the input stream, and the address 2~5
will match every fifth line, starting with the second. .I
first can be zero; in this case, \*(sd operates as if it
were equal to .IR step . (This is an extension.)
[訳文]
.TP
first~step
first 行からはじまる step 行おきの行にマッチする。 例えば
\*(lqsed -n 1~2p\*(rq は
入力行のうち奇数行を出力し、アドレスを 2~5 にすると、第 2
行から 5 行おきに表示する。 first は 0
を指定することが可能である。 この場合、step
に等しい値が指定されたものとして \*(sd は処理する (これは
GNU 拡張である)。
----------------------------------------
[原文]
.TP
$
Match the last line.
[訳文]
.TP
$
最終行にマッチする。
----------------------------------------
[原文]
.TP
.RI / regexp /
Match lines matching the regular expression .IR regexp .
Matching is performed on the current pattern space, which
can be modified with commands such as ``s///''.
[訳文]
.TP
/regexp/
正規表現 regexp に合致するような行にマッチする。
マッチングは現在のパターン領域において行われる。 これは
\*(lqs///\*(rq のようなコマンドにより変更される。
----------------------------------------
[原文]
.TP
.BI \fR\e\fPc regexp c
Match lines matching the regular expression .IR regexp .
The .B c may be any character.
[訳文]
.TP
\ecregexpc
正規表現 regexp にマッチした行にマッチする。 c
には任意の文字を指定できる。
----------------------------------------
[原文]
.PP
GNU \*(sd also supports some special 2-address forms:
[訳文]
.PP
GNU \*(sd は、次の特殊な 2 アドレス形式もサポートする。
----------------------------------------
[原文]
.TP
.RI 0, addr2
Start out in "matched first address" state, until .I addr2
is found. This is similar to .RI 1, addr2 , except that if
.I addr2 matches the very first line of input the .RI 0,
addr2 form will be at the end of its range, whereas the .RI
1, addr2 form will still be at the beginning of its range.
This works only when .I addr2 is a regular expression.
[訳文]
.TP
0,addr2
「先頭アドレスにマッチした状態」で開始し、addr2
が見つかるまでその状態を維持する。 これは、1,addr2
に類似しているが、次の点において挙動が異なる。 addr2
が入力の先頭行にマッチする場合、0,addr2
形式ではアドレス範囲の終了位置にあるとみなされるが、1,addr2
形式ではアドレス範囲の開始位置にあるとみなされる。
このアドレス指定は、addr2 が正規表現の場合にのみ機能する。
----------------------------------------
[原文]
.TP
.IR addr1 ,+ N
Will match .I addr1 and the .I N lines following .IR addr1
.
[訳文]
.TP
addr1,+N
addr1 から、addr1 以降の N 行にマッチする。
----------------------------------------
[原文]
.TP
.IR addr1 ,~ N
Will match .I addr1 and the lines following .I addr1 until
the next line whose input line number is a multiple of .IR
N .
[訳文]
.TP
addr1,~N
addr1 から、addr1 以降の、入力行番号が N
の倍数の行までマッチする。
----------------------------------------
[原文]
.SH "REGULAR EXPRESSIONS"
POSIX.2 BREs .I should be supported, but they aren't
completely because of performance problems. The .B \en
sequence in a regular expression matches the newline
character, and similarly for .BR \ea , .BR \et , and other
sequences. The -E option switches to using extended regular
expressions instead; it has been supported for years by GNU
sed, and is now included in POSIX.
[訳文]
.SH 正規表現
POSIX.2 BRE
をサポートするべきであるが、性能上の問題により完全にはサポー
トしていない。 正規表現内部の \en
シーケンスは改行文字にマッチし、\ea、\et、およびその他のシー
ケンスも同様である。 このかわりに -E
オプションは拡張正規表現の利用に切り替えるものである。
この拡張正規表現は、これまでに長らく GNU sed
においてサポートされ、現在は POSIX に含まれるようになった。
----------------------------------------
[原文]
.SH BUGS
[訳文]
.SH バグ
----------------------------------------
[原文]
.PP
E-mail bug reports to .BR bug-sed@gnu.org . Also, please
include the output of ``sed --version'' in the body of your
report if at all possible.
[訳文]
.PP
バグレポートは bug-sed@gnu.org
まで送ること。また可能であれば、 「sed
--version」の出力結果をレポート本文に記載すること。
----------------------------------------
[原文]
.SH AUTHOR
Written by Jay Fenlason, Tom Lord, Ken Pizzini, Paolo
Bonzini, Jim Meyering, and Assaf Gordon.
[訳文]
.SH 著者
Jay Fenlason, Tom Lord, Ken Pizzini, Paolo Bonzini, Jim
Meyering, Assaf Gordon.
----------------------------------------
[原文]
.PP
This sed program was built with SELinux support. SELinux is
enabled on this system.
[訳文]
.PP
この sed プログラムは SELinux
サポートを含めてビルドされている。このシステム上においては
SELinux が有効である。
----------------------------------------
[原文]
.PP
GNU sed home page: .
General help using GNU software:
. E-mail bug reports to:
.
[訳文]
.PP
GNU sed ホームページ: .
GNU ソフトウェアを使用する際の一般的なヘルプ:
.
電子メールによるバグレポートの宛先:
----------------------------------------
[原文]
.SH COPYRIGHT
Copyright © 2020 Free Software Foundation, Inc. License
GPLv3+: GNU GPL version 3 or later
.
This is free software: you are free to change and
redistribute it. There is NO WARRANTY, to the extent
permitted by law.
[訳文]
.SH 著作権
Copyright © 2020 Free Software Foundation, Inc. License
GPLv3+: GNU GPL version 3 or later
.
This is free software: you are free to change and
redistribute it. There is NO WARRANTY, to the extent
permitted by law.
----------------------------------------
[原文]
.SH "SEE ALSO"
.BR awk (1), .BR ed (1), .BR grep (1), .BR tr (1), .BR
perlre (1), sed.info, any of various books on \*(sd, .na
the \*(sd FAQ
(http://sed.sf.net/grabbag/tutorials/sedfaq.txt),
http://sed.sf.net/grabbag/.
[訳文]
.SH 関連項目
awk(1), ed(1), grep(1), tr(1), perlre(1), sed.info, \*(sd
に関するさまざまな本, .na \*(sd FAQ
(http://sed.sf.net/grabbag/tutorials/sedfaq.txt),
http://sed.sf.net/grabbag/.
----------------------------------------
[原文]
.PP
The full documentation for .B sed is maintained as a
Texinfo manual. If the .B info and .B sed programs are
properly installed at your site, the command
[訳文]
.PP
sed の完全な文書は、Texinfo
マニュアルでメンテナンスされている。info と sed
プログラムが適切にインストールされていれば、
----------------------------------------
[原文]
.IP
.B info sed
[訳文]
.IP
info sed
----------------------------------------
[原文]
.PP
should give you access to the complete manual.
[訳文]
.PP
で、完全なマニュアルを参照することができる。
----------------------------------------