!!!SED - Stream EDitor - {{category "UNIX Command",nolink}}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/' outfile infile の各行の regexp にマッチする部分を replacement に置換し、outfile に出力する。regexp は正規表現も可。 !!スクリプトファイル # example.sed s/regexp1/replacement1/ s/regexp2/replacement2/ sed -f example.sed 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/