Manpages

名 前

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 文 字 で 行 を 分 割 す る

−−help

ヘ ル プ を 表 示 し て 終 了 す る

−−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 拡 張 で あ る 。
filename

filename か ら 読 み 込 ん だ テ キ ス ト を 追 加 す る 。

filename

filename か ら 1 行 読 み 込 み 、 追 加 す る 。 コ マ ン ド を 起 動 す る た び に フ ァ イ ル か ら 次 の 1 行 を 読 み 込 む 。 こ の コ マ ン ド は GNU 拡 張 で あ る 。 ア ド レ ス 範 囲 を 指 定 で き る コ マ ン ド

{ コ マ ン ド ブ ロ ッ ク を 開 始 す る

(} で 終 了 す る )。

label

label に 分 岐 す る 。 label が 省 略 さ れ た 場 合 は 、 ス ク リ プ ト の 末 尾 に 分 岐 す る 。

c \

text 選 択 し た 行 を

text で 置 換 す る 。 text に 改 行 を 含 め た い 場 合 は 、 そ の

前 に バ ッ ク ス ラ ッ シ ュ を 置 く 。

d パ タ ー ン ス ペ ー ス を 削 除 す る 。 次 の サ イ ク ル を 開 始 す る 。

D パ タ ー ン ス ペ ー ス に 改 行 が な い 場 合 は 、

d コ マ ン ド と 同 様 に 通 常 の 次 の サ イ ク ル を 開 始 す る 。 そ う で な い 場 合 は 、 パ タ ー ン ス ペ ー ス の 最 初 の 改 行 ま で を 削 除 し 、 次 の 入 力 行 を 読 み 込 ま ず に 、 そ の 結 果 の パ タ ー ン ス ペ ー ス で サ イ ク ル を 開 始 す る 。

h H パ タ ー ン ス ペ ー ス を ホ ー ル ド ス ペ ー ス に コ ピ ー

/追 加 す る 。

g G ホ ー ル ド ス ペ ー ス を パ タ ー ン ス ペ ー ス に コ ピ ー

/追 加 す る 。

l 現 在 の 行 を 「 視 覚 的 に 曖 昧 性 の な い 」 形 式 で リ

ス ト す る 。

width 現 在 の 行 を 「 視 覚 的 に 曖 昧 性 の な い 」 形 式 で リ ス ト し 、 width の 文 字 で 折 り 返 す 。 こ の コ マ ン ド は GNU 拡 張 で あ る 。

n N 入 力 の 次 の 行 を パ タ ー ン ス ペ ー ス に 読 み 込 む

/追 加 す る 。

p 現 在 の パ タ ー ン ス ペ ー ス を 出 力 す る 。

P 現 在 の パ タ ー ン ス ペ ー ス の 最 初 の 改 行 ま で を

出 力 す る 。

s/regexp/replacement/ パ タ ー ン ス ペ ー ス に 対 し て regexp の マ ッ チ を 試 み る 。 マ ッ チ に 成 功 す る と 、 マ ッ チ し た 部 分 を replacement に 置 換 す る 。 replacement に は 特 殊 文 字 で あ る & を 含 め る こ と が で き 、 こ れ は パ タ ー ン ス ペ ー ス の マ ッ チ し た 部 分 を 参 照 す る 。 ま た \1 か ら \9 ま で の 特 殊 エ ス ケ ー プ を 含 む こ と も で き 、 こ れ は regexp の 部 分 正 規 表 現 (sub−expression) に マ ッ チ し た 部 分 を そ れ ぞ れ 参 照 す る 。

label 直 近 の 入 力 行 が 読 み 込 ま れ て 以 降 、 か つ 、 直 近 の t あ る い は T コ マ ン ド 以 降 に 、 s コ マ ン ド が 成 功 し て い れ ば 、 label に 分 岐 す る 。 label が 省 略 さ れ た 場 合 は 、 ス ク リ プ ト の 末 尾 に 分 岐 す る 。
label 直 近 の 入 力 行 が 読 み 込 ま れ て 以 降 、 か つ 、 直 近 の t あ る い は T コ マ ン ド 以 降 に 、 s コ マ ン ド が 成 功 し て い な け れ ば 、 label に 分 岐 す る 。 label が 省 略 さ れ た 場 合 は 、 ス ク リ プ ト の 末 尾 に 分 岐 す る 。 こ の コ マ ン ド は GNU 拡 張 で あ る 。
filename 現 在 の パ タ ー ン ス ペ ー ス を filename に 書 き 込 む 。
filename 現 在 の パ タ ー ン ス ペ ー ス の 先 頭 行 を filename に 書 き 込 む 。 こ の コ マ ン ド は GNU 拡 張 で あ る 。

x ホ ー ル ド ス ペ ー ス と パ タ ー ン ス ペ ー ス の 内 容 を 交 換 す る 。

y/source/dest/ パ タ ー ン ス ペ ー ス に あ る 文 字 の う ち 、 source に あ る も の を 、 dest の 同 じ 位 置 に あ る 文 字 に 置 換 す る 。

ア ド レ ス

sed の コ マ ン ド は ア ド レ ス な し で 指 定 す る こ と も で き 、 こ の 場 合 そ の コ マ ン ド は 全 て の 入 力 行 に 対 し て 実 行 さ れ る 。 ア ド レ ス を ひ と つ 指 定 す る と 、 コ マ ン ド は そ の ア ド レ ス に マ ッ チ し た 入 力 行 に 対 し て の み 実 行 さ れ る 。 2 つ の ア ド レ ス を 指 定 す る と 、 最 初 の ア ド レ ス に マ ッ チ し た 行 か ら 、 2 番 目 の ア ド レ ス に マ ッ チ し た 行 に 至 る 範 囲 (両 マ ッ チ 行 を 含 む ) に あ る す べ て の 行 に 対 し て 実 行 さ れ る 。 ア ド レ ス の 範 囲 指 定 に つ い て は 次 の 3 点 を 注 意 し て お く 。 ま ず 指 定 方 法 は addr1,addr2 で あ る (つ ま り ア ド レ ス を コ ン マ で 区 切 る )。 addr1 に マ ッ チ し た 行 は 、 た と え addr2 が そ れ 以 前 の 行 に マ ッ チ す る 場 合 で も 、 常 に 処 理 対 象 と な る 。 addr2regexp (正 規 表 現 ) の 場 合 に は 、 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 マ ニ ュ ア ル で メ ン テ ナ ン ス さ れ て い る 。 infosed プ ロ グ ラ ム が 適 切 に イ ン ス ト ー ル さ れ て い れ ば 、

info sed で 、 完 全 な マ ニ ュ ア ル を 参 照 す る こ と が で き る 。