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

 みなさん こんにちわ

 前回までに紹介したのは以下の2つでした。それぞれ少し補足します。

  {print $1,$2}

 awkはデータファイルをレコード(デフォルトでは1行)毎に読み、読んだレコードをさらにフィールドに区切ります。デフォルトの区切りは空白またはタブです。レコードやフィールドの区切り文字は自由に変えられます。

 $いくつ という書き方で、フィールドに自由にアクセスできます。$0 は特別でレコード丸ごとの意味です。

    織田信長 84 88 80 75   ....これで1レコード
      $1     $2 $3 $4 $5   ....全体は $0

 printはその名のとおりで画面に出力させる命令です。

 したがってこのスクリプトは「第1フィールドと第2フィールドを画面出力せよ」という意味です。

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

 totalは変数(ユーザー定義変数)です。awkではこのように勝手に変数を使い始めることができます。awkが内部に持っている変数はすべて大文字になっています。ユーザーは小文字の変数を使うのがルールです。

 変数への代入は = でやります。左のものに、右のものが代入されます。数学のイコールとは違います。イコールの意味では == を使います。

 awkではいろいろな計算ができます。数値の四則演算は + - * / です。数値以外に文字列のいろいろな演算が可能です。

 次回は少し計算をしてみます。



 初出 NIFTY-Serve「みんみんネット」1996/09/06 (Fri) 19:36:33