ここでは、AWK の起動時のオプションについて幾つかを紹介します。
起動するときに動作モードなどのさまざまなオプションを AWK に与えることができます。
実際には、コマンドプロンプトなどで awk.exe の引数としてこれらの「オプション」を指定します。
「最初の AWK スクリプト」の章で、起動用 BAT ファイルで使用した「-f」は、実行するスクリプトファイルを指定するオプションです。
AWK には沢山のオプションがあります。
それぞれの詳細は専門書に譲るとして、ここではスクリプトの動作を起動用 BAT ファイルで切替指定する例を取り上げます。
そのオプションは「-v」です。ある変数に値を設定するオプションです。
話は変わりますが・・・
2011年3月11日の大地震があってから「地震データ」を集計することにしました。
初めは気象庁のホームページから地震データをコピーしてデータ処理していたのです。
しかし、東電の[無]計画停電が始まり、「停電ブロック」の調査を始めたのです。
これがまたかなりいい加減なデータで、東電内部のだらしなさがそのまま出ていました。
AWK スクリプトで停電ブロックを処理していたのですが、なんと数日おきにデータが更新されるのです。
立派なシステムコンピュータがあると言うのに、手打ちでデータを作っているのです。
これには手間取りました!!
そんなあるとき・・・
地震データをダウンロードしようと気象庁のホームページに戻ってビックリ!!
1 週間分のデータしか公開していなかったのです。数日分のデータが失われてしまいました。
諦めきれずにネットをウロウロしていたら、日本気象協会のホームページに辿りつきました。
しかも、2008年7月24日からの地震データがあるではありませんか!!
早速、こちらからデータを頂くことにして、スクリプトを大改造しました。
ところが・・・
2001年7月11日以降のデータが AWK で処理できないことに・・・
調べてみると、過去のデータとまったく異なる形式になっていたのです。
東京電力のデータも同様にスクリプトで処理できない。。。
実は、その数日前に誤って IE をバージョン 9 にしてしまったのです。
Windows Update で「1件の重要な・・・」が表示されているのを選択してしまったのです。
そしてスクリプトを大幅に改造することになってしまいました・・・というお話です。。。
長い・・・ながぁ〜い寄り道から元に戻ります。
結局、過去のデータは IE8 で、新たなデータは IE9 で取り込んだデータとなりました。
ここからが本題です。
オプション選択により、これらのデータを一つのスクリプトで処理できるように改造しました。
スクリプトは以下のような構造としました。
if (IE9_FLG) {
IE9 用プリプロセッサ
{
IE8 用スクリプト・・・
@echo off
gawk -f txt2csv.awk -f txt2csv_preprocessing.awk -v IE9_FLG=1
pause
以上・・・
「-v」オプションは結構使えるオプションですよ。
このオプションだけで、こんなに長いページになってしまいました。
ごめんなさい。
他にもフィールドセパレータを指定できるオプションなどがあります。
参考書で調べてはいかがでしょうか。