awk の使い方 4

awk における変数

awk では、変数を使うこともできる。
awk の変数は

という特徴を持っている。
下の例で、データファイル中の数字全部を合計してみよう。

# cat data
1 2 3
4 5 6
7 8 9
# awk '{t += $1+$2+$3} \    <- バックスラッシュの後ろにEnter
END{print t}' data
45
#

ここで、END というのは、全てのデータを読んだ後で、 最後に一度だけ、行なう処理を記述するために使用するものである。
(パターンというものだが、これについてはまた後ほど)

処理の進み方

上の例での、awk の処理の進み方は、以下のようになる。

  1. 1行目を読む
    1. $1+$2+$3 を計算する( 1 + 2 + 3 )
    2. その合計を、変数 t に加算する
      ( t は最初 0 に初期化されるので、中身は 6 になる )
  2. 2行目を読む
    1. $1+$2+$3 を計算する( 4 + 5 + 6 )
    2. その合計を、変数 t に加算する ( 6 + 15 = 21 )
  3. 3行目を読む
    1. $1+$2+$3 を計算する( 7 + 8 + 9 )
    2. その合計を、変数 t に加算する ( 21 + 24 = 45 )
  4. ENDの部分を実行する
    print t によって、t の中身 45 が出力される。
  5. 終り

参考


Prev | Next
Home | Contents
abe@injapan.net