テキストデータファイルの各データの頻度を数える
あらかじめソート済みのデータに対応
$prev = "";
$prev_count = 0;
while(<>) {
s/[\r\n]//g;
if ( ( $_ ne $prev ) && ( $prev ne "" ) ) {
printf( "%s\t%d\n", $prev, $prev_count );
$prev_count = 0;
}
$prev_count++;
$prev = $_;
}
printf( "%s\t%d\n", $prev, $prev_count );
exit;
というファイルが dat7.txt として存在しています。 このままではソートが済んでいないので鈴木 佐藤 田中 佐藤 鈴木 田中 佐藤 鈴木 鈴木
として ソート済みデータ を用意してください。c:\perl> sort dat7.txt > dat8.txt
とタイプします。c:\perl> perl c_freq2.pl dat8.txt
と出力されるはずです。佐藤 3 田中 2 鈴木 4
Copyright © 2004 TKEN