goo blog サービス終了のお知らせ 

中野智文

中野智文(VOYAGE GROUP)のコンピュータなどのメモ

カウント(sort | uniq -c)の代替rubyワンライナー

2013-05-13 10:58:41 | ruby
文字列の出現数のカウントする手段としてよくcutなどと組み合わせて、 sort | uniq -c などが用いられるが、sortしなければならないので、ちょっと時間がかかる。そこでrubyのワンライナー
ruby -ne 'BEGIN{$h=Hash.new(0)};END{$h.each{|kv|puts kv.join("\t")}};$h[$_.chomp]+=1'
注意としては sort | uniq -c の出力と比べ左右が逆。またrubyのハッシュテーブルを使うので、メモリがあふれる場合には、素直に sort | uniq -c を使うほうが良い。

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。