名 前
sed − テ キ ス ト の フ ィ ル タ リ ン グ 、 変 換 用 の ス ト リ ー ム エ デ ィ タ
書 式
sed [OPTION]... {script−only−if−no−other−script} [input−file]...
説 明
sed は ス ト リ ー ム エ デ ィ タ で あ る 。 ス ト リ ー ム エ デ ィ タ は 、 入 力 ス ト リ ー ム (フ ァ イ ル ま た は パ イ プ ラ イ ン か ら の 入 力 ) に 対 し て 基 本 的 な テ キ ス ト 変 換 を 行 う た め に 用 い ら れ る 。 sed は 編 集 ス ク リ プ ト を 使 え る (ed の よ う な ) エ デ ィ タ と い ろ い ろ な 面 で 似 て い る が 、 sed は 入 力 に 対 し て 1 パ ス だ け で 動 作 す る の で 、 よ り 効 率 的 で あ る 。 ま た sed は パ イ プ ラ イ ン の テ キ ス ト に 対 し て フ ィ ル タ 動 作 を 行 う こ と が で き 、 こ の 点 は 他 の タ イ プ の エ デ ィ タ と は っ き り 違 う 。
−n, −−quiet, −−silent パ タ ー ン ス ペ ー ス の 自 動 出 力 を 抑 制 す る | |
−e script, −−expression=script 実 行 す る コ マ ン ド と し て script を 追 加 す る | |
−f script−file, −−file=script−file 実 行 す る コ マ ン ド と し て script−file の 内 容 を 追 加 す る | |
−−follow−symlinks イ ン プ レ ー ス 処 理 に お い て シ ン ボ リ ッ ク リ ン ク を 辿 る | |
−i[SUFFIX], −−in−place[=SUFFIX] フ ァ イ ル を イ ン プ レ ー ス 処 理 で 編 集 す る (SUFFIX 指 定 時 は バ ッ ク ア ッ プ を 取 る ) | |
−l N, −−line−length=N |
’l’ コ マ ン ド の 出 力 行 を 折 り 返 す 長 さ を 指 定 す る
−−posix 全 て の GNU 拡 張 を 無 効 に す る | |
−r, −−regexp−extended ス ク リ プ ト で 拡 張 正 規 表 現 を 使 用 す る | |
−s, −−separate 複 数 の 入 力 フ ァ イ ル を 一 続 き の ス ト リ ー ム と し て 扱 わ ず に 個 別 の フ ァ イ ル と し て 扱 う | |
−u, −−unbuffered 入 力 フ ァ イ ル か ら デ ー タ を ご く 少 量 ず つ 取 り 込 み 、 頻 繁 に 出 力 バ ッ フ ァ を 掃 き 出 す (flush) | |
−z, −−null−data |
NUL 文 字 で 行 を 分 割 す る
ヘ ル プ を 表 示 し て 終 了 す る |
−−version バ ー ジ ョ ン 情 報 を 出 力 し て 終 了 す る
−e、 −−expression、 −f、 ま た は −−file オ プ シ ョ ン の い ず れ も 指 定 さ れ な い 場 合 、 最 初 の オ プ シ ョ ン で な い 引 き 数 が sed ス ク リ プ ト と し て 解 釈 さ れ る 。 残 り の 全 て の 引 き 数 は 入 力 フ ァ イ ル 名 と し て 扱 わ れ る 。 入 力 フ ァ イ ル が 指 定 さ れ な い 場 合 は 、 標 準 入 力 か ら 読 み 込 む 。
GNU sed ホ ー ム ペ ー ジ : <http://www.gnu.org/software/sed/>. GNU ソ フ ト ウ ェ ア を 使 用 す る 際 の 一 般 的 な ヘ ル プ : <http://www.gnu.org/gethelp/>. 電 子 メ ー ル に よ る バ グ レ ポ ー ト の 宛 先 : <bug−sed [AT] gnu.org>. 「 Subject: 」 フ ィ ー ル ド の ど こ か に 「 sed」 を 記 載 し て く だ さ い 。
コ マ ン ド の 文 法
こ れ は sed コ マ ン ド の ご く 簡 単 な 概 要 で あ り 、 既 に sed を 知 っ て い る 人 向 け の 備 忘 録 程 度 の も の で あ る 。 よ り 詳 細 な 情 報 に つ い て は 、 他 の 文 書 (texinfo 文 書 な ど ) を 参 照 す る こ と 。 ア ド レ ス を 取 ら な い コ マ ン ド :
label
b コ マ ン ド と t コ マ ン ド 用 の ラ ベ ル 。
#comment 次 の 改 行 文 字 ま で (あ る い は −e ス ク リ プ ト フ ラ グ メ ン ト の 末 尾 ま で ) を コ メ ン ト と し て 取 り 扱 う 。
} |
{ } ブ ロ ッ ク の 閉 じ 括 弧 。 |
ア ド レ ス を 0 ま た は 1 個 取 る コ マ ン ド
= 現 在 の 行 番 号 を 出 力 す る 。 |
||
a \ |
||
text |
text を 追 加 す る 。 text に 改 行 を 含 め る 場 合 は 、 各 改 行 の 前 に バ ッ ク ス ラ ッ シ ュ を 置 く 。
i \ |
|||
text |
text を 挿 入 す る 。 text に 改 行 を 含 め る 場 合 は 、 各 改 行 の 前 に バ ッ ク ス ラ ッ シ ュ を 置 く 。 |
q [exit−code]
こ れ 以 上 入 力
を 処 理 せ ず 、
た だ ち に sed ス
ク リ プ ト の 処
理 を 終 了 す る
。 た だ し 自 動
出 力 が 抑 制 さ
れ て い な い 場
合 、 現 在 の パ
タ ー ン ス ペ ー
ス が 出 力 さ れ
る 。 引 き 数 exit−code
は GNU 拡 張 で あ る
。
Q [exit−code] こ れ 以
上 入 力 を 処 理
せ ず 、 た だ ち
に sed ス ク リ プ
ト の 処 理 を 終
了 す る 。 引 き
数 exit−code は GNU 拡 張
で あ る 。
r filename
filename か ら 読 み 込 ん だ テ キ ス ト を 追 加 す る 。
R filename
filename か ら 1 行 読 み 込 み 、 追 加 す る 。 コ マ ン ド を 起 動 す る た び に フ ァ イ ル か ら 次 の 1 行 を 読 み 込 む 。 こ の コ マ ン ド は GNU 拡 張 で あ る 。 ア ド レ ス 範 囲 を 指 定 で き る コ マ ン ド
{ コ マ ン ド ブ ロ ッ ク を 開 始 す る |
(} で 終 了 す る )。 |
b label
label に 分 岐 す る 。 label が 省 略 さ れ た 場 合 は 、 ス ク リ プ ト の 末 尾 に 分 岐 す る 。
c \ |
|||
text 選 択 し た 行 を |
text で 置 換 す る 。 text に 改 行 を 含 め た い 場 合 は 、 そ の |
前 に バ ッ ク ス ラ ッ シ ュ を 置 く 。
d パ タ ー ン ス ペ ー ス を 削 除 す る 。 次 の サ イ ク ル を 開 始 す る 。 | |
D パ タ ー ン ス ペ ー ス に 改 行 が な い 場 合 は 、 |
d コ マ ン ド と 同 様 に 通 常 の 次 の サ イ ク ル を 開 始 す る 。 そ う で な い 場 合 は 、 パ タ ー ン ス ペ ー ス の 最 初 の 改 行 ま で を 削 除 し 、 次 の 入 力 行 を 読 み 込 ま ず に 、 そ の 結 果 の パ タ ー ン ス ペ ー ス で サ イ ク ル を 開 始 す る 。
h H パ タ ー ン ス ペ ー ス を ホ ー ル ド ス ペ ー ス に コ ピ ー |
/追 加 す る 。 | ||
g G ホ ー ル ド ス ペ ー ス を パ タ ー ン ス ペ ー ス に コ ピ ー |
/追 加 す る 。 | ||
l 現 在 の 行 を 「 視 覚 的 に 曖 昧 性 の な い 」 形 式 で リ |
ス ト す る 。
l width 現 在 の 行 を 「 視 覚 的 に 曖 昧 性 の な い 」 形 式 で リ ス ト し 、 width の 文 字 で 折 り 返 す 。 こ の コ マ ン ド は GNU 拡 張 で あ る 。 |
n N 入 力 の 次 の 行 を パ タ ー ン ス ペ ー ス に 読 み 込 む |
/追 加 す る 。 |
|||
p 現 在 の パ タ ー ン ス ペ ー ス を 出 力 す る 。 |
||||
P 現 在 の パ タ ー ン ス ペ ー ス の 最 初 の 改 行 ま で を |
出 力 す る 。
s/regexp/replacement/ パ タ ー ン ス ペ ー ス に 対 し て regexp の マ ッ チ を 試 み る 。 マ ッ チ に 成 功 す る と 、 マ ッ チ し た 部 分 を replacement に 置 換 す る 。 replacement に は 特 殊 文 字 で あ る & を 含 め る こ と が で き 、 こ れ は パ タ ー ン ス ペ ー ス の マ ッ チ し た 部 分 を 参 照 す る 。 ま た \1 か ら \9 ま で の 特 殊 エ ス ケ ー プ を 含 む こ と も で き 、 こ れ は regexp の 部 分 正 規 表 現 (sub−expression) に マ ッ チ し た 部 分 を そ れ ぞ れ 参 照 す る 。 |
t label 直
近 の 入 力 行 が
読 み 込 ま れ て
以 降 、 か つ 、
直 近 の t あ る い
は T コ マ ン ド 以
降 に 、 s コ マ ン
ド が 成 功 し て
い れ ば 、 label に
分 岐 す る 。 label
が 省 略 さ れ た
場 合 は 、 ス ク
リ プ ト の 末 尾
に 分 岐 す る 。
T label 直 近 の 入
力 行 が 読 み 込
ま れ て 以 降 、
か つ 、 直 近 の t
あ る い は T コ マ
ン ド 以 降 に 、 s
コ マ ン ド が 成
功 し て い な け
れ ば 、 label に 分
岐 す る 。 label が
省 略 さ れ た 場
合 は 、 ス ク リ
プ ト の 末 尾 に
分 岐 す る 。 こ
の コ マ ン ド は GNU
拡 張 で あ る 。
w filename 現 在 の パ
タ ー ン ス ペ ー
ス を filename に 書 き
込 む 。
W filename 現 在 の パ
タ ー ン ス ペ ー
ス の 先 頭 行 を
filename に 書 き 込 む
。 こ の コ マ ン
ド は GNU 拡 張 で あ
る 。
x ホ ー ル ド ス ペ ー ス と パ タ ー ン ス ペ ー ス の 内 容 を 交 換 す る 。 |
y/source/dest/ パ タ ー ン ス ペ ー ス に あ る 文 字 の う ち 、 source に あ る も の を 、 dest の 同 じ 位 置 に あ る 文 字 に 置 換 す る 。
ア ド レ ス
sed の コ マ ン ド は ア ド レ ス な し で 指 定 す る こ と も で き 、 こ の 場 合 そ の コ マ ン ド は 全 て の 入 力 行 に 対 し て 実 行 さ れ る 。 ア ド レ ス を ひ と つ 指 定 す る と 、 コ マ ン ド は そ の ア ド レ ス に マ ッ チ し た 入 力 行 に 対 し て の み 実 行 さ れ る 。 2 つ の ア ド レ ス を 指 定 す る と 、 最 初 の ア ド レ ス に マ ッ チ し た 行 か ら 、 2 番 目 の ア ド レ ス に マ ッ チ し た 行 に 至 る 範 囲 (両 マ ッ チ 行 を 含 む ) に あ る す べ て の 行 に 対 し て 実 行 さ れ る 。 ア ド レ ス の 範 囲 指 定 に つ い て は 次 の 3 点 を 注 意 し て お く 。 ま ず 指 定 方 法 は addr1,addr2 で あ る (つ ま り ア ド レ ス を コ ン マ で 区 切 る )。 addr1 に マ ッ チ し た 行 は 、 た と え addr2 が そ れ 以 前 の 行 に マ ッ チ す る 場 合 で も 、 常 に 処 理 対 象 と な る 。 addr2 が regexp (正 規 表 現 ) の 場 合 に は 、 addr1 に マ ッ チ し た 行 に 対 し て は addr2 の マ ッ チ は 行 わ れ な い 。 ア ド レ ス (あ る い は ア ド レ ス 範 囲 ) と コ マ ン ド の 間 に は ! を 挟 む こ と が で き る 。 こ の 場 合 は 、 ア ド レ ス (あ る い は ア ド レ ス 範 囲 ) が マ ッ チ し な か っ た 行 に 対 し て の み コ マ ン ド が 実 行 さ れ る 。 以 下 の ア ド レ ス タ イ プ が サ ポ ー ト さ れ て い る 。
number |
number で 指 定 し た 行 に の み マ ッ チ す る (コ マ ン ド ラ イ ン で −s オ プ シ ョ ン を 指 定 し て い な い 場 合 、 行 数 は フ ァ イ ル 間 で 通 算 で カ ウ ン ト さ れ る ) |
first~step
first 行 か ら は じ ま る step 行 お き の 行 に マ ッ チ す る 。 例 え ば “sed −n 1~2p” は 入 力 行 の う ち 奇 数 行 を 出 力 し 、 ア ド レ ス を 2~5 に す る と 、 第 2 行 か ら 5 行 お き に 表 示 す る 。 first は 0 を 指 定 す る こ と が 可 能 で あ る 。 こ の 場 合 、 step に 等 し い 値 が 指 定 さ れ た も の と し て sed は 処 理 す る 。 (こ れ は GNU 拡 張 で あ る )。
$ 最 終 行 に マ ッ チ す る 。 |
/regexp/ 正
規 表 現 regexp に マ
ッ チ し た 行 に
マ ッ チ す る 。
\cregexpc 正 規 表
現 regexp に マ ッ チ
し た 行 に マ ッ
チ す る 。 c に
は 任 意 の 文 字
を 指 定 で き る
。
GNU sed
は 、 次 の 特 殊
な 2 ア ド レ ス 形
式 も サ ポ ー ト
す る 。
0,addr2 「 先 頭 ア ド
レ ス に マ ッ チ
し た 状 態 」 で
開 始 し 、 addr2 が
見 つ か る ま で
そ の 状 態 を 維
持 す る 。 こ れ
は 、 1,addr2 に 類 似
し て い る が 、
次 の 点 に お い
て 挙 動 が 異 な
る 。 addr2 が 入 力
の 先 頭 行 に マ
ッ チ す る 場 合
、 0,addr2 形 式 で は
ア ド レ ス 範 囲
の 終 了 位 置 に
あ る と み な さ
れ る が 、 1,addr2 形
式 で は ア ド レ
ス 範 囲 の 開 始
位 置 に あ る と
み な さ れ る 。
こ の ア ド レ ス
指 定 は 、 addr2 が
正 規 表 現 の 場
合 に の み 機 能
す る 。
addr1,+N
addr1 か ら 、 addr1 以 降 の N 行 に マ ッ チ す る 。
addr1,~N
addr1 か ら 、 addr1 以 降 の 、 入 力 行 番 号 が N の 倍 数 の 行 ま で マ ッ チ す る 。
正 規 表 現
POSIX.2 BRE を サ ポ ー ト す る べ き で あ る が 、 性 能 上 の 問 題 に よ り 完 全 に は サ ポ ー ト し て い な い 。 正 規 表 現 内 部 の \n シ ー ケ ン ス は 改 行 文 字 に マ ッ チ し 、 \a、 \t、 お よ び そ の 他 の シ ー ケ ン ス も 同 様 で あ る 。
バ グ
バ グ レ ポ ー ト は bug−sed [AT] gnu.org ま で 送 っ て く だ さ い 。 ま た 、 可 能 で あ れ ば 、 「 sed −−version」 の 出 力 結 果 を レ ポ ー ト 本 文 に 記 載 し て く だ さ い 。
著 者
作 者 : Jay Fenlason, Tom Lord, Ken Pizzini, お よ び Paolo Bonzini。 GNU sed ホ ー ム ペ ー ジ : <http://www.gnu.org/software/sed/>。; GNU ソ フ ト ウ ェ ア を 使 用 す る 際 の 一 般 的 な ヘ ル プ : <http://www.gnu.org/gethelp/>。; 電 子 メ ー ル に よ る バ グ レ ポ ー ト の 宛 先 : <bug−sed [AT] gnu.org>。 「 Subject: 」 フ ィ ー ル ド の ど こ か に 「 sed」 を 記 載 し て く だ さ い 。
著 作 権
Copyright
© 2012 Free Software Foundation, Inc. License GPLv3+:
GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and
redistribute it. There is NO WARRANTY, to the extent
permitted by law.
関 連 項 目
awk(1), ed(1), grep(1), tr(1), perlre(1), sed.info, sed に 関 す る 様 々 な 本 , sed FAQ (http://sed.sf.net/grabbag/tutorials/sedfaq.txt), http://sed.sf.net/grabbag/.
sed の 完 全 な 文 書 は 、 Texinfo マ ニ ュ ア ル で メ ン テ ナ ン ス さ れ て い る 。 info と sed プ ロ グ ラ ム が 適 切 に イ ン ス ト ー ル さ れ て い れ ば 、
info sed で 、 完 全 な マ ニ ュ ア ル を 参 照 す る こ と が で き る 。