Chinaunix首页 | 论坛 | 博客
  • 博客访问: 266594
  • 博文数量: 54
  • 博客积分: 35
  • 博客等级: 民兵
  • 技术积分: 729
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-09 10:35
文章分类

全部博文(54)

文章存档

2014年(37)

2013年(17)

分类: LINUX

2014-01-05 23:40:28

原帖:我转载到Shell版的帖:

处理前:
ABDCDCDC

处理后:
DC      3       14
AB      1       1

处理规则:
请看原帖。


  1. awk -F '' -vK=2 '{for(i=1;i<=NF;i+=K){y=NF-i


点击(此处)折叠或打开

  1. #!/usr/bin/perl
  2. use warnings;
  3. use strict;
  4. use 5.010;

  5. my %hash = ( A=>0, B=>1, C=>2, D=>3 );
  6. my $str = "ABDCDCDC";
  7. my $K = 2;
  8. my %times;
  9. my $i = 0;
  10. ++ $times{ substr $str, $i, $K } and $i += $K while $i < length $str;
  11. map { say join "\t", @$_ } sort { $b->[1] <=> $a->[1] } map {
  12.         my @each = split //, $_;
  13.         my $sum = 0;
  14.         map { $sum += $hash{ $each[$_] } * 4 ** ( $#each - $_ ) } 0 .. $#each;
  15.         [ $_, $times{$_}, $sum ];
  16. } keys %times;


阅读(1173) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~