| [ CnUnix ] in KIDS 글 쓴 이(By): wang (Chip쟁이) 날 짜 (Date): 2003년 11월 24일 월요일 오후 05시 55분 49초 제 목(Title): Re: [Q] aggregation한 값 구하기 perl을 쓰면 간단히 될 것같습니다만...제가 펄 만능주의자라..-_-;; #!/bin/perl -w while(<>){ chomp; if(/^\s*$/){next;} $_ =~ s/^\s*//; @items = split /\s+/; if(defined $hash{$items[0]}){ $hash{$items[0]}->[0] = $hash{$items[0]}->[0] + $items[2]; $hash{$items[0]}->[1] = $hash{$items[0]}->[1] + $items[3]; $hash{$items[0]}->[2] = $hash{$items[0]}->[2] + $items[4]; }else{ $hash{$items[0]} = [$items[2],$items[3],$items[4]]; } if(defined $hash2{$items[1]}){ $hash2{$items[1]}->[0] = $hash2{$items[1]}->[0] + $items[2]; $hash2{$items[1]}->[1] = $hash2{$items[1]}->[1] + $items[3]; $hash2{$items[1]}->[2] = $hash2{$items[1]}->[2] + $items[4]; }else{ $hash2{$items[1]} = [$items[2],$items[3],$items[4]]; } } print "=======================================================\n"; foreach $key (sort keys %hash){ print "$key : $hash{$key}->[0], $hash{$key}->[1], $hash{$key}->[2]\n"; } print "=======================================================\n"; foreach $key (sort keys %hash2){ print "$key : $hash2{$key}->[0], $hash2{$key}->[1], $hash2{$key}->[2]\n"; } # 맨아래 출력의 sort가 좀 특이하게 동작합니다. # 전 어떻게 해야 할지 바로 떠오르지 않네요. # |