佐藤です。

rubyでもawkでもないですが、ただ単にテキストファイルに対 
しての行処理を目的とするならば

uniq -c ./文字列ファイルA
    1 yahoo
    1 goo
    1 google
    1 yahoo
    2 msn

は、どうでしょうか。

-------------------------------
佐藤直之 <sato.naoyuki / nifty.co.jp>



On 平成 20/10/21, at 19:13, 石塚圭樹 wrote:

> けいじゅ@いしつかです.
>
> こんな感じでいかがでしょう?
>
> % 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 <<---
>