Let's GAWK! とにかく使うJGAWK その1

 みなさん こんばんは

  Macの「JGAWK InterFace」があんまり素晴らしかったので、原題は「Macで使うjgawk」でした。でもDOSやWindowsのひとにもぜひawkを使ってほしいので、「Let's GAWK! とにかく使うJGAWK」と改めました。

 awkはプログラミング言語です。ただし世の普通のそれとはだいぶ趣が違います。
 プログラムを組んだことがある人向けに特徴をあげますと、こんな感じです。

 このような特徴のおかげで、実行速度はのろいですが、開発・メンテナンスが非常に楽な柔軟性の高いプログラム言語になっています。

 名前について一言。オリジナルが「awk」、現在の主流であるGNU版が「gawk」、これの日本語対応版が「jgawk」です。以後 awkといえば jgawkと思ってください。

 awkのプログラムは「スクリプト(台本)」といいます。通常、対象ファイルから1行ずつデータを読んでスクリプトにしたがって結果を返すという動作(フィルタ動作)をします。

 Macの JGAWK InterFaceを使えば、簡単にawkを試用できます。
 以下のようなテキストファイルを準備して、実際に試してみてください。一応テストの点数一覧のつもりです。氏名、各教科の点数(国語、算数、理科、社会の順)が空白でくぎられて並んでいます。

織田信長 84 88 80 75
豊臣秀吉 63 66 60 78
徳川家康 80 78 70 90

 このファイルを JGAWK InterFaceの「input」のところに登録すれば準備完了です。

 まずはいくつかスクリプトを実験しましょう。
 氏名と国語の点数だけ出力したいときには

  {print $1,$2}

と「script」のところに入力して RUNします。出力はこんな具合。

織田信長 84
豊臣秀吉 63
徳川家康 80

 各人の平均点ならばこれでOK。

  {total = $2 + $3 + $4 + $5; print $1,total/4}

織田信長 81.75
豊臣秀吉 66.75
徳川家康 79.5


 だいぶ長くなりました。今宵はここまでに致しとうございまする。



 初出 NIFTY-Serve「みんみんネット」1996/09/03 (Tue) 22:22:59