平成15年度 専門コア情報処理演習
y
(理学部 数理情報科学科い組 対象、塩田教官)
y
12月8日の教材(2)
前へ
/
戻る
/
次へ
□ 変数への文字列の代入
変数には文字列を代入することもできます。 最高点獲得者の名前を表示するには
BEGIN { max = 0 }
$3 > max { max = $3 ; name = $1 }
END { print "最高点 = ", max ;
print "最高点獲得者 = ", name }
とすれば宜しい。max.awk をこのように編集して
!awk
を実行してみましょう。
ファイルの最後の行を表示するのも、変数を使えば
{ last = $0 }
END { print "最後の行 : ", last }
とすればできます。
(次の様に書いてはできません。
END { print "最後の行 : ", $0 }
なぜでしょう?)
□ 文字列の連接
上の最高点獲得者プログラムには実はバグがあり、 最高点獲得者が二人以上いるときもひとりの名前しか表示されません。
正しく書けば
BEGIN { max = 0 }
$3 == max { name = name " " $1 }
$3 > max { max = $3 ; name = $1 }
END { print "最高点 = ", max ;
print "最高点獲得者 = ", name }
となります。
3つの文字列 name, " ", $1 を連接させて改めて変数 name へ代入しているところがミソです。
max.awk を編集しなおして
!awk
を実行してみましょう。
前へ
/
戻る
/
次へ