あまり複雑なことを考えなければ,集計用のスクリプトは以下のようになる。
#!/usr/local/bin/gawk -f
{
	for (i = 1; i <= NF; i++) {
		word[$i]++
	}
}

END {
	for (i in word) {
		print i, word[i]
	}
}

{
	for (i = 1; i <= NF; i++) {
		word[$i]++
	}
}
の部分で,読み込んだ1行ごとに空白で区切られた単語それ自体を添字として,配列 word に出現回数をカウントアップしている(word[$i]++)。
END {
	for (i in word) {
		print i, word[i]
	}
}
の部分で,word に含まれる添字とその内容(出現回数)をプリントしている。

実行してみる

結果を見るとわかるように,アルファベット順にはなっていないが集計はできている。

ちょっと脇道へ


●前へ戻る   ●次へ進む
Last modified: May 15, 2002

E-mail to Shigenobu AOKI