sedの基本
木曜日, 2月 21st, 2008sed(Stream EDitor)は、非対話的にコマンドを実行するテキストエディタで ある。コマンドは引数で与えられ、入力は標準入力または引数で示されたファ イルからの入力となり、出力は標準出力が使用される。
同時に多くの編集作業をするのには向いていないが、パイプコマンドとして テキストストリームに加工を施す際に便利である。また、シェルコマンドと して実行できるため、シェルスクリプト内に埋め込んで実行するのにも向いている。
sed(Stream EDitor)は、非対話的にコマンドを実行するテキストエディタで ある。コマンドは引数で与えられ、入力は標準入力または引数で示されたファ イルからの入力となり、出力は標準出力が使用される。
同時に多くの編集作業をするのには向いていないが、パイプコマンドとして テキストストリームに加工を施す際に便利である。また、シェルコマンドと して実行できるため、シェルスクリプト内に埋め込んで実行するのにも向いている。
正規表現
正規表現(せいきひょうげん:regular expression)とは、文字列の集合を一つの文字列で表現する方法の一つ。正則表現(せいそくひょうげん)とも呼ばれ、形式言語理論の分野では比較的こちらの訳語の方が使われる。
もともと正規表現は形式言語理論において正規言語を表すための手段として導入された。形式言語理論では、形式言語が正規言語であることと正規表現によって表せることは同値である。
その後正規表現はテキストエディタ、ワードプロセッサをはじめとするアプリケーションソフトでパターンマッチ文字列を表すために使用されるようになり、表せるパターンの種類を増やすために本来の正規表現にはないさまざまな記法が新たに付け加えられた。このような拡張された正規表現には正規言語ではない文字列も表せるものも多く、ゆえに正規表現という名前は実態に即していない面もあるが、伝統的に正規表現と呼ばれ続けている。
圧縮ソフトには、遍歴があります。
時代とともにその圧縮率が増加している。その順番は以下の通り。
bz2>gz>zip>compress
今後の傾向は、bz2に置き換わっていくと考えられます。
シェルのtest コマンドの仕様を忘れがちなのでメモしておく。
if 文など条件式を評価する場合には test コマンドを使用する。どのような評価を行うかはオプションにより細かく指定することが可能である。 test コマンドは評価結果に従い、真(0)か偽(1)かの終了ステータスを返すのみで、画面上へのメッセージ出力等は一切行わない条件評価に特化したコマンドである。
シェルには、特殊な意味を持つ予約されている記号(メタ:meta文字)がある。
このメタ文字は、忘れがちなので、以下に列挙して置く。
“, $, @, &, ‘, (, ), ^, |, [, ], {, }, ;, *, ?, <, >, `, \, スペース,改行、タブといったエスケープ・シーケンス (more…)
★圧縮 bz2 とzipの展開
インターネットで公開されているプログラムやソースファイルは、ほとんどが圧縮されている。Linuxの場合はgzipで圧縮されることが多いが、最近ではより圧縮率の高いbzip2が使われることも多くなってきた。bzip2で圧縮されたファイルは、拡張子が.bz2となる。一方gzipで圧縮された場合は、拡張子が.gzとなる。
拡張子が.tar.bz2になっているファイルを展開するには、jオプションを付けてtarコマンドを実行する。
tar jxvf xxx.tar.bz2
一方拡張子が.tar.gzになっているファイルを展開するには、zオプションを付けてtarコマンドを実行する。
tar zxvf xxx.tar.gz