#!/usr/local/bin/gawk -f
{
	for (i = 1; i <= NF; i++) {
		word[$i]++
	}
}

END {
	for (i in word) {
		print i, word[i] | "sort"
	}
	close("sort")
}

| "sort" でプリントするものを sort コマンドへ引き渡している。
最後の close("sort") は,sort コマンドの使用後の後始末。

実行してみる


 出現頻度の高い順に並べ替えるときには,END に対するアクションを以下のようにするとよい。
END {
	for (i in word) {
		print i, word[i] | "sort +1 -nr"
	}
	close("sort +1 -nr")
}


 2カ所に出てくる "sort +1 -nr" は,一字一句たりとも間違えてはならないので,次のようにした方がもっと良い。
END {
	com = "sort +1 -nr"
	for (i in word) {
		print i, word[i] | com
	}
	close(com)
}


前のページへ戻る
Last modified: May 15, 2002

E-mail to Shigenobu AOKI