/usr/share/dict/words ( /usr/share/dict/american-english , /etc/dictionaries-common/words ) の単語リストから頭文字のアルファベットを数えて降順に並べる。
総単語数
$ wc -l /usr/share/dict/words 96274 /usr/share/dict/words
こんな感じのスクリプトを組んでみる。ハッシュの値でソートするのはよくわからないので、テキトー。
$ cat ./ic.rb #!/usr/bin/ruby file = ARGV[0] lines = IO.readlines(file) hash = Hash.new lines.each do |i| key = i[0,1].downcase val = hash[key] if val == nil then val = 0 end val = val + 1 hash[key] = val end # ハッシュの値で昇順ソート #hash = hash.sort {|a,b| a[1] <=> b[1] } # ハッシュの値で降順ソート hash = hash.sort {|a,b| b[1] <=> a[1] } hash.each do |key, val| print key, " -- ", val, "\n" end
頭文字を数える。
$ ./ic.rb /usr/share/dict/words s -- 10809 c -- 9308 p -- 7367 b -- 5967 m -- 5772 a -- 5763 d -- 5705 r -- 5177 t -- 4824 f -- 3993 h -- 3755 e -- 3742 i -- 3546 l -- 3365 g -- 3358 w -- 2671 o -- 2209 n -- 1950 u -- 1860 v -- 1554 j -- 1234 k -- 1189 q -- 452 y -- 363 z -- 271 x -- 54 薛- 14 鏑- 1 -- 1
変なものも混じっているけど、まぁこんなところで。
その他、関係ありそうな無さそうなページ。
hier - ファイルシステム階層の説明
/usr/share/dict
スペルチェッカ用の単語リストが含まれる。
tags: Ruby zurazure
Posted by NI-Lab. (@nilab)