「Sed」の版間の差分
提供: Wikinote
行22: | 行22: | ||
** & - マッチした文字列 | ** & - マッチした文字列 | ||
*** <code>$ sed -e 's/[0-9]*/(&)/g' FILE</code> - 数字に括弧をつける | *** <code>$ sed -e 's/[0-9]*/(&)/g' FILE</code> - 数字に括弧をつける | ||
+ | ** ( ), \n - パタン部分指定 | ||
+ | *** <code>$ sed -e 's/\(A\) \(B\)/\2 \1/g' FILE</code> - A と B の位置を入れ替える |
2009年2月19日 (木) 00:44時点における版
- 基本構文
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 コマンドと一緒)
- 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 の位置を入れ替える
-
- & - マッチした文字列