[Tokyo.pm] Re: 単語を含む文字列の出現回数

林 愛一郎 i16 @ imasy.or.jp
2002年 11月 18日 (月) 17:46:23 CST


i16(愛一郎)@CGIメーリングリスト です(^^)/

in "[Tokyo.pm] 単語を含む文字列の出現回数"
on "Mon, 18 Nov 2002 14:45:28 +0900"
to "tokyo-pm-list @ happyfunball.pm.org"
"taguti <taguti @ secom-sis.co.jp>" san wrote:
> 
> grep yahoo access.log |wc -l
> 
> とすると、www.yahoo.comもwww.yahooBB.comもヒットする。
> そのヒット件数を知りたい。

田口さんのプログラム良くわからないんですけど

#!/usr/bin/perl

while(<>) {
        chomp();
        $lines{$_}++;
        $words{$1}++ while m/(\w+)/g;
        }
#printf "%5d %s\n", $lines{$_}, $_ foreach (sort keys %lines);
#printf "%5d %s\n", $words{$_}, $_ foreach (sort keys %words);
foreach $w (keys %words) {
        if(length($w)>=5) {
                foreach $a (keys %lines) {
                        $subwords{$w} += $lines{$a} if $a =~ /$w/;
                        }
                }
        }
printf "%8d %s\n", $subwords{$_}, $_ foreach (sort keys %subwords);

とか

#!/usr/bin/perl

while(<>) {
        chomp();
        $lines{$_}++;
        while(m/(\w+)/g) {$words{$1}++ if length($1)>=5;}
        }
#printf "%5d %s\n", $lines{$_}, $_ foreach (sort keys %lines);
#printf "%5d %s\n", $words{$_}, $_ foreach (sort keys %words);
foreach $w (keys %words) {
        foreach $a (keys %lines) {
                $subwords{$w} += $lines{$a} if $a =~ /$w/;
                }
        }
printf "%8d %s\n", $subwords{$_}, $_ foreach (sort keys %subwords);

のようなことがしたいんでしょうか?
(プログラムあってる??)

それより僕もログ解析はすることあるんで
部分単語のヒット数をどうして知りたいのかのほうに
僕は興味があるんですけどナゼ?(^^;;

出現単語をリストアップしてそれを調べるわけなので
figure1 と figure2 しかない場合は
figure では数えないわけですよね?
figure_1 と figure_2 の場合も。

-- i16 @ forest.ne.jp  http://i16.jp      i16(愛一郎)
-- 11/21(木) 19:00 横濱電網放電集會 澁谷變  -- http://forest.ne.jp/hoden/






Tokyo-pm メーリングリストの案内