shell和perl对文件单词的频数统计
perl:
1 #!/usr/bin/perl -w 2 open(MY,"word.txt")or die " $!"; 3 my %tmp; 4 map { $tmp{$_}++ } 5 map { chomp; split /\s|,|\.|:/,$_ } ; 6 close MY; 7 print "$_\t$tmp{$_}\n" 8 foreach (sort { $tmp{$b} <=> $tmp{$a} } keys %tmp);
shell:
sed 's/\n/\t/g' word.txt|sed 's/,/\t/g'|sed 's/\./\t/g'|awk '{for(i=1;i<=NF;++i)++S[$i]}END{for(a in S)print a"\t"S[a]}' ——————————————————————————————————————————