/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)

