次: Programming Commands, 前: The "s" Command, 上: sed Programs
前のセクションのものより使用されることはおそらく少ないでしょうが,非常 にわずかな有用なsedスクリプトには,以下のコマンドを組み込むこ とも可能です.
y/
source-chars/
dest-chars/
/
文字は,y
コマンドで与えられるその他の単一文字で一律に置
換してもかまいません.)
source-charsにマッチしたパターン空間のすべての文字を,対応する dest-charsの文字に変換します.
/
(またはそのかわりに使用されている文字),\
,または改行の
インスタンスは,それぞれのインスタンスに\
でエスケープを提供する
ことでsource-charsやdest-charsのリストに書くことが可能です.
source-charsとdest-charsのリストには,(エスケープを取り除く
と)同じ数の文字を含める必要があります.
a\
このコマンドに続いているテキストの行(最後が\
で終っているものは,
出力から取り除かれます)を,現在のサイクルの終りや,次の入力行が読み込ま
れるときに出力されるキューに保存します.
textのエスケープシーケンスは処理されるので,単一のバックスラッシュ
を出力するため,textで\\
を使用してください.
GNUの拡張として,a
と改行の間に連続した空白と\
が
ある場合,a
の後に最初の空白文字以外で始まるこの行のテキストは,
textブロックの最初の行として受けとられます.(これで,単純に一行の
スクリプトを追加するだけで可能になります.)この拡張は,i
と
c
コマンドを用いても動作します.
i\
c\
\
で終っているものは,出力から取り除かれます)を,最後
の行の位置(または,アドレスが指定されていない場合はそれぞれの行の位置)
に出力します.新しいサイクルは,パターン空間が削除されてから,このコマ
ンド終了後に開始されます.
=
l
n\
文字)
は,Cの形式でエスケープされた様式で出力されます.長い行は分割を示す
\
を後置して分割されます.それぞれの行の終りには$
で印が付
きます.
nは,要求される行を丸める長さを指定します.0(ゼロ)の長さは長い行
を丸めないことを意味します.省略されている場合,コマンドラインで指定さ
れているものがデフォルトとして使用されます.nパラメータは
GNU sedの拡張です.
r
filenamefilenameの内容を読み込み,現在のサイクルの終りや次の入力行が読み 込まれたときに出力ストリームに挿入するためキューに保存します. filenameが読み込み不可能な場合,エラーを示すことなく空のファイル が読み込まれているかのように扱われることに注意してください.
GNU sedの拡張として,特殊な値/dev/stdinがファイル名としてサ
ポートされていて,それは標準入力の内容を読み込みます.
w
filename最初の入力行が読み込まれる前に,ファイルは作成され(または切り詰められ)
ます.同じfilenameを参照するすべてのw
コマンドは(s
コ
マンド成功時のw
フラグのインスタンスを含めて),ファイルを閉じ再び
開くこと無く出力されます.
D
N
P
h
H
g
G
x