01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
% ruby -ne 'next if /^#/;code,prop,val = $_.chomp.split(/\t/);puts [[code.sub(/^U\+/,"").hex].pack("U*"),val].join("\t") if prop =~ /^kJapanese(Kun|On)$/' Unihan.txt | ruby -e 'w={};ARGF.each do |l|char,yomi=l.chomp.split(/\t/);w[char]||=[];w[char]<<yomi;end;w.keys.sort.each do|char|puts [char,w[char]].join("\t");end