「Sed」の版間の差分
提供: Wikinote
(新しいページ: '* 基本構文 sed [-n] [-e command] [-f command_file] [file ...] ; -n : マッチしなかったら表示しない * アドレス ** <code>n</code> - n 行目のみ (最終...') |
細 (→基本構文) |
||
(同じ利用者による、間の7版が非表示) | |||
行1: | 行1: | ||
− | * 基本構文 | + | == 参考リンク == |
+ | * [http://www.gnu.org/software/sed/manual/sed.html sed, a stream editor] | ||
+ | ** 本家のオンラインマニュアル。 | ||
+ | * [http://www.grymoire.com/Unix/Sed.html Sed - An Introduction and Tutorial] | ||
+ | ** そこそこ網羅されている。 | ||
+ | |||
+ | == 基本構文 == | ||
sed [-n] [-e command] [-f command_file] [file ...] | sed [-n] [-e command] [-f command_file] [file ...] | ||
; -n | ; -n | ||
: マッチしなかったら表示しない | : マッチしなかったら表示しない | ||
− | + | === アドレス === | |
− | + | * <code>n</code> — n 行目のみ (最終行 : $) | |
− | + | * <code>m,n</code> — m 行目から n 行目まで | |
− | + | * <code>n,/str/</code> — n 行目から str がマッチする行まで | |
− | * | + | * アドレスの後に <code>!</code> を付けると否定 |
− | + | ||
− | + | === コマンド === | |
− | + | * p — 出力 | |
− | ** | + | * d — 削除 |
− | ** | + | ** 例) <code>$ sed -e '/begin/,/end/d' FILE</code> - begin を含む行から end を含む行までを削除 |
− | ** | + | * y — 一文字置換 (tr コマンドと一緒) |
− | * フラグ | + | ** 例) <code>$ sed -e 'y/12/ab/' FILE</code> - FILE 中の 1 を a に、2 を b に置換 |
− | ** g - | + | ** g フラグなしでも、すべての文字に適用される |
+ | * s — 置換 | ||
+ | ** 例) <code>$ sed -e 's/foo/bar/g' FILE</code> - foo を bar に置換 | ||
+ | * q — 終了 | ||
+ | |||
+ | === フラグ === | ||
+ | * g — 同一行中のマッチをすべて置換 | ||
+ | |||
+ | === 特殊記号 === | ||
+ | * & — マッチした文字列 | ||
+ | ** 例) <code>$ sed -e 's/[0-9]*/(&)/g' FILE</code> - 数字に括弧をつける | ||
+ | * \( \), \N — パタン部分指定 | ||
+ | ** 例) <code>$ sed -e 's/\(A\) \(B\)/\2 \1/g' FILE</code> - A と B の位置を入れ替える | ||
+ | |||
+ | == 覚え書き == | ||
+ | pattern1 と pattern2 に挟まれた部分以外を表示する。 | ||
+ | sed -e '/pattern1/,/pattern2/d' FILE |
2009年9月8日 (火) 07:38時点における最新版
参考リンク
- sed, a stream editor
- 本家のオンラインマニュアル。
- Sed - An Introduction and Tutorial
- そこそこ網羅されている。
基本構文
sed [-n] [-e command] [-f command_file] [file ...]
- -n
- マッチしなかったら表示しない
アドレス
-
n
— n 行目のみ (最終行 : $) -
m,n
— m 行目から n 行目まで -
n,/str/
— n 行目から str がマッチする行まで - アドレスの後に
!
を付けると否定
コマンド
- p — 出力
- d — 削除
- 例)
$ sed -e '/begin/,/end/d' FILE
- begin を含む行から end を含む行までを削除
- 例)
- y — 一文字置換 (tr コマンドと一緒)
- 例)
$ sed -e 'y/12/ab/' FILE
- FILE 中の 1 を a に、2 を b に置換 - g フラグなしでも、すべての文字に適用される
- 例)
- s — 置換
- 例)
$ sed -e 's/foo/bar/g' FILE
- foo を bar に置換
- 例)
- q — 終了
フラグ
- g — 同一行中のマッチをすべて置換
特殊記号
- & — マッチした文字列
- 例)
$ sed -e 's/[0-9]*/(&)/g' FILE
- 数字に括弧をつける
- 例)
- \( \), \N — パタン部分指定
- 例)
$ sed -e 's/\(A\) \(B\)/\2 \1/g' FILE
- A と B の位置を入れ替える
- 例)
覚え書き
pattern1 と pattern2 に挟まれた部分以外を表示する。
sed -e '/pattern1/,/pattern2/d' FILE