亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 5330 | 回復(fù): 14
打印 上一主題 下一主題

perl 行去重保留規(guī)定條件行 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2015-07-10 15:17 |只看該作者 |倒序瀏覽
求助:如下數(shù)據(jù),想去掉第3列重復(fù)的行且保留的行要使第四列最小
原始數(shù)據(jù):
326        0.00        0.00        ( 0 )
63        0.00        2.43        ( 0.0082 )
64        0.00        2.43        ( 0.0082 )
120        0.00        2.43        ( 0 )
340        0.00        4.03        ( 0 )
99        0.00        9.14        ( 0.0229 )
441        0.00        9.14        ( 0.0232 )
142        0.00        10.77        ( 0.0569 )
292        0.00        10.77        ( 0.0393 )
266        0.00        10.77        ( 0.0233 )
想要的結(jié)果:
326        0.00        0.00        ( 0 )
120        0.00        2.43        ( 0 )
340        0.00        4.03        ( 0 )
99        0.00        9.14        ( 0.0229 )
266        0.00        10.77        ( 0.0233 )

論壇徽章:
26
2015亞冠之胡齊斯坦鋼鐵
日期:2015-06-25 21:40:202015亞冠之柏斯波利斯
日期:2015-08-31 17:03:192015亞冠之柏斯波利斯
日期:2015-11-07 13:10:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-10 06:20:00每日論壇發(fā)貼之星
日期:2015-11-10 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-11-26 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2015-12-02 06:20:00黃金圣斗士
日期:2015-12-07 17:57:4615-16賽季CBA聯(lián)賽之天津
日期:2015-12-23 18:34:14程序設(shè)計版塊每日發(fā)帖之星
日期:2016-01-02 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2016-01-06 06:20:00每日論壇發(fā)貼之星
日期:2016-01-06 06:20:00
2 [報告]
發(fā)表于 2015-07-10 17:05 |只看該作者
perl uniq.pl yourfile > uniq

uniq.pl
我這么寫了
  1. #!/usr/bin/perl

  2. my %DATA;

  3. while (<>) {
  4.     my ( $C3, $C4 ) = /^\S+\s+\S+\s+(\S+)\s+\(\s*(\S+)/;
  5.     if ( exists $DATA{$C3} ) {
  6.         $DATA{$C3} = [ $C4, $., $_ ] if $DATA{$C3}[0] > $C4;
  7.     }
  8.     else {
  9.         $DATA{$C3} = [ $C4, $., $_ ];
  10.     }
  11. }

  12. my @LINES = map { $_->[2] } sort { $a->[1] <=> $b->[1] } values %DATA;

  13. print @LINES;

復(fù)制代碼

評分

參與人數(shù) 1可用積分 +2 收起 理由
MMMIX + 2 贊一個!

查看全部評分

論壇徽章:
10
2015亞冠之廣州富力
日期:2015-06-16 14:44:332015亞冠之西悉尼流浪者
日期:2015-08-19 13:14:352015亞冠之阿爾希拉爾
日期:2015-08-04 09:38:052015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-07-31 15:01:582015亞冠之首爾
日期:2015-07-27 14:24:312015亞冠之塔什干火車頭
日期:2015-07-20 09:47:202015亞冠之布里斯班獅吼
日期:2015-07-15 14:58:432015亞冠之首爾
日期:2015-07-07 09:31:262015亞冠之廣州恒大
日期:2015-07-06 15:41:272015亞冠之首爾
日期:2015-08-27 11:03:01
3 [報告]
發(fā)表于 2015-07-10 17:10 |只看該作者
不太懂hash
寫了一個還沒達(dá)到要求的,先準(zhǔn)備下班
use strict;
open(A, "e:/perl/A.txt");
my %h;
my @a=<A>;
foreach (@a)
{
        $_=~s/(.*?)\((.*?)\)/$1$2/;
#        print;
        }
foreach (@a)

{my @b=split/\s+/;
        (my $key,my $value)=($b[2],$b[3]);
        $h{$key}=$value;

foreach (sort {$h{$a}<=>$h{$b}} keys %h)
{
        print "$_->$h{$_}\n";
        }

論壇徽章:
0
4 [報告]
發(fā)表于 2015-07-10 17:56 |只看該作者
回復(fù) 2# substr函數(shù)
牛掰

   

論壇徽章:
0
5 [報告]
發(fā)表于 2015-07-10 18:02 |只看該作者
$DATA{$C3} = [ $C4, $., $_ ] if $DATA{$C3}[0] > $C4;
中括號里是什么意思

論壇徽章:
1
羊年新春福章
日期:2015-04-28 20:40:58
6 [報告]
發(fā)表于 2015-08-14 17:30 |只看該作者
  1. #!/usr/bin/perl  -w
  2. use strict;
  3. my %hash;
  4. while (<DATA>){
  5. my @all = split /\s\s+/,$_;
  6. my ($num) = $all[3] =~ /\s(\S+)\s/;
  7. $hash{$all[2]}{$num}{$_} = 1;
  8. }
  9. foreach my $same (sort keys %hash){
  10. my @num = keys  %{$hash{$same}};
  11. my $f = shift @num;
  12. for (@num){
  13.   $f = $_ if ($f > $_);
  14. }
  15. my @line = keys %{$hash{$same}{$f}};
  16. print @line;
  17. }

  18. __DATA__
  19. 326        0.00        0.00        ( 0 )
  20. 63        0.00        2.43        ( 0.0082 )
  21. 64        0.00        2.43        ( 0.0082 )
  22. 120        0.00        2.43        ( 0 )
  23. 340        0.00        4.03        ( 0 )
  24. 99        0.00        9.14        ( 0.0229 )
  25. 441        0.00        9.14        ( 0.0232 )
  26. 142        0.00        10.77        ( 0.0569 )
  27. 292        0.00        10.77        ( 0.0393 )
  28. 266        0.00        10.77        ( 0.0233 )
復(fù)制代碼
回復(fù) 1# Li_0817


   

論壇徽章:
7
戌狗
日期:2013-12-15 20:43:38技術(shù)圖書徽章
日期:2014-03-05 01:33:12技術(shù)圖書徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16賽季CBA聯(lián)賽之青島
日期:2016-03-17 20:36:13
7 [報告]
發(fā)表于 2015-08-15 03:25 |只看該作者
  1. #!/usr/bin/perl
  2. my $c = '\(^oo^)/';

  3. print
  4.   map  { $c eq $_->[0] ? () : do { $c = $_->[0]; $_->[2] } }
  5.   sort { $a->[0] <=> $b->[0] || $a->[1] <=> $b->[1] }
  6.   map  { [ (split)[ 2, 4 ], $_ ] } <DATA>

  7. __DATA__
  8. 326        0.00        0.00        ( 0 )
  9. 63        0.00        2.43        ( 0.0082 )
  10. 64        0.00        2.43        ( 0.0082 )
  11. 120        0.00        2.43        ( 0 )
  12. 340        0.00        4.03        ( 0 )
  13. 99        0.00        9.14        ( 0.0229 )
  14. 441        0.00        9.14        ( 0.0232 )
  15. 142        0.00        10.77        ( 0.0569 )
  16. 292        0.00        10.77        ( 0.0393 )
  17. 266        0.00        10.77        ( 0.0233 )
復(fù)制代碼

論壇徽章:
0
8 [報告]
發(fā)表于 2015-08-19 10:43 |只看該作者
++
貌似跟2樓一樣了



#!/usr/bin/perl -w
use strict;

my %hash;
while(<DATA>){
        chomp;
        my ($a,$b,$key,$value)=/\s*(\d\S+)\s+(\d\S+)\s+(\d\S+)\s+\((.*)\)/;
        if ( $hash{$key}){
         $hash{$key}=[$a,$b,$value] if ($value < $hash{$key}->[2]) ;
        }
        else {
                $hash{$key}=[$a,$b,$value];
        }
}
printf "%s\t%s\t%s\t(%s) \n",$hash{$_}->[0],$hash{$_}->[1],$_,$hash{$_}->[2]  foreach(sort {$a <=> $b} (keys %hash));

__DATA__
326        0.00        0.00        (0)
63        0.00        2.43        ( 0.0082 )
64        0.00        2.43       ( 0.0082 )
120        0.00        2.43        (0)
340        0.00        4.03       ( 0)
99        0.00        9.14         ( 0.0229  )
441        0.00        9.14         (0.0232)
142        0.00        10.77         (0.0569)
292        0.00        10.77         (0.0393)
266        0.00        10.77        (0.0233)

論壇徽章:
0
9 [報告]
發(fā)表于 2016-05-03 11:19 |只看該作者
樓上的大神們寫的時候能不能稍微加點注釋,小白表示看著好吃力

論壇徽章:
6
15-16賽季CBA聯(lián)賽之新疆
日期:2016-03-22 22:34:5915-16賽季CBA聯(lián)賽之山東
日期:2016-04-11 09:08:41程序設(shè)計版塊每日發(fā)帖之星
日期:2016-06-28 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2016-07-19 06:20:00每日論壇發(fā)貼之星
日期:2016-07-19 06:20:0015-16賽季CBA聯(lián)賽之青島
日期:2016-07-20 22:44:17
10 [報告]
發(fā)表于 2016-05-04 01:26 |只看該作者
$> cat  bbb|perl -00pne '1  while (s/(.+ ([.\d]+) +\( *(.+) *\) *)\n(.+\2 *\( *(.+) *\) *)/$3 < $5? $1: $4/ge)'

326        0.00        0.00        ( 0 )
120        0.00        2.43        ( 0 )
340        0.00        4.03        ( 0 )
99        0.00        9.14        ( 0.0229 )
266        0.00        10.77        ( 0.0233 )
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP