トップ 履歴 一覧 カテゴリ ソース 検索 ヘルプ RSS ログイン

UnixCmd/sed

INDEX

SED - Stream EDitor -

SEDは、UNIX標準のテキスト処理コマンドで利用可能な非会話型ストリームエディタです。

ストリームエディタは、入力ストリーム (ファイルまたはパイプラインからの入力) に対して基本的なテキスト変換を行うために用いられる。 sed は編集スクリプトを使える (ed のような) エディタといろいろな面で似ているが、 sed は入力に対して 1 パスだけで動作するので、より効率的である。また sed はパイプラインのテキストに対してフィルタ動作を行うことができ、この点は他のタイプのエディタとはっきり違う。

コマンドライン書式

sed [-n] [--quiet] [--silent] [-V] [--version] [-h] [--help]
    [-e script] [--expression=script]
    [-f script-file] [--file=script-file]
    [script-if-no-other-script]
    [file...]

 オプション

sed の起動時には以下のコマンドラインオプションを指定できる。

-V , --version
sed のバージョン・著作権表示を出力し、終了する。
-h , --help
コマンドラインオプションを簡単にまとめた利用法とバグレポート先のアドレスを出力し、終了する。
-n , --quiet , --silent
デフォルトでは、sed はスクリプトの各サイクルの最後でパターンスペースの内容を出力する。 これらのオプションを指定するとこの自動的な出力が行われなくなり、 p コマンドで出力することを指定された場合に限って sed は出力を生成する。
-e script , --expression=script
scriptのコマンドを、入力の処理中に行われるコマンドセットに追加する。
-f script-file , --file=script-file
ファイル script-file に含まれるコマンドを、入力の処理中に行われるコマンドセットに追加する。

-e, -f, --expression, --file などのオプションがコマンドラインから全く与えられなかった場合は、コマンドラインの引き数のうち、オプションでない最初のものが script として受け取られ、実行される。

以上のコマンドラインパラメータを処理したあとに引き数が残った場合は、それらは処理対象となる入力ファイルのファイル名と解釈される。 - というファイル名は、標準入力ストリームを参照する。ファイル名が全く指定されなかった場合は標準入力を処理する。

コマンド文法

簡単な使い方

 ワンライナー

sed -e 's/regexp/replacement/' <infile >outfile

infile の各行の regexp にマッチする部分を replacement に置換し、outfile に出力する。regexp は正規表現も可。

 スクリプトファイル

# example.sed
s/regexp1/replacement1/
s/regexp2/replacement2/
sed -f example.sed <infile >outfile

Win32移植版

 sed win32 (Vector Soft Library)

http://www.vector.co.jp/soft/win95/util/se015016.html

GNU sed Ver.1.18 にマルチバイト対応(Shift-JIS)を行ったもの。UNICODEには未対応。

 GnuWin32

http://gnuwin32.sourceforge.net/

最終更新時間:2008年12月08日 19時35分00秒 指摘や意見などあればSandBoxのBBSへ。