みなさん こんにちわ
前回までに紹介したのは以下の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