けいじゅ@いしつかです.

こんな感じでいかがでしょう?

% ruby -e "puts ARGF.group_by{|w| w}.map{|key, ary| [key.chomp, ary.size].join(' ')}" A

yahoo 2
msn 2
google 1
goo 1

厳密には以下でしょうかね.

% ruby -e "puts ARGF.map{|w| w.chomp}.group_by{|w| w}.map{|key, ary| [key, ary.size].join(' ')}" sam



In [ruby-list :45572 ] the message: "[ruby-list:45572] 簡潔なHASH値の
インクリメント ", on Oct/21 18:09(JST) IIDAYUICHI writes:

>IIDA_Y と申します。
>こんにちわ。
>
>以下のような文字列ファイルAがあるとします。
>
>A:
>-------
>yahoo
>goo
>google
>yahoo
>msn
>msn
>
>これをAWKで以下のように処理すると
>$ awk --version
>GNU Awk 3.1.3
>..
>$ awk '{ class[$1]++ } END { for (i in class){print i, class[i]}}' A
>
>google 1
>msn 2
>goo 1
>yahoo 2
>
>のようになります。
>
>これを Ruby で似たような処理を一撃で出来ないかと考えています。
>ご助言いただければ幸いです。
>
>
>------
><y_iida / gomaneko.com>
>
>

__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: keiju / ishitsuka.com <<---