免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345
最近访问板块 发新帖
楼主: 鸟鸟不哥
打印 上一主题 下一主题

一个超复杂的筛选,没思路啊。。。 [复制链接]

论坛徽章:
0
41 [报告]
发表于 2012-02-28 09:07 |只看该作者
这个。。。shell是不是通常都在linux下?perl不会啊。。。回复 40# jason680


   

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
42 [报告]
发表于 2012-02-28 09:20 |只看该作者
这个应该可以在Solaris 下跑的。
  1. sort -k3.3n -k2.2n  date1 date2 |awk '!t{a=$0;b=$2 FS $3;t=1;next}
  2.             { if ($2 FS $3 == b) {print $0 FS a;t=0}
  3.               else {print /RA/?a " NULL NULL NULL 0": "NULL NULL NULL 0 " a;a=$0;b=$2 FS $3;t=1}
  4.             }END{if (t==1) print  /RA/?a " NULL NULL NULL 0": "NULL NULL NULL 0 " a}'
复制代码

论坛徽章:
0
43 [报告]
发表于 2012-02-28 11:47 |只看该作者
回复 42# rdcwayx



哥们,测试了吗?我这面测了下无法通过啊。。。

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
44 [报告]
发表于 2012-02-28 13:04 |只看该作者
回复 43# 鸟鸟不哥


    好人做到底,试试perl
  1. #!/bin/perl
  2. use strict;
  3. my %mon = (
  4.         "JAN" => "01",
  5.         "FEB" => "02",
  6.         "MAR" => "03",
  7.         "APR" => "04",
  8.         "MAY" => "05",
  9.         "JUN" => "06",
  10.         "JUL" => "07",
  11.         "AUG" => "08",
  12.         "SEP" => "09",
  13.         "OCT" => "10",
  14.         "NOV" => "11",
  15.         "DEC" => "12"
  16. );

  17. my (%data,%d);
  18. open(f1,"file1") or die "$!";
  19. while(<f1>){
  20.         chomp;
  21.         my @a = split /\s+/;
  22.         $data{fun($a[1]).$a[2]."#1"} = $_;
  23.         $d{$a[1]."#".$a[2]} = fun($a[1]).$a[2];
  24. }
  25. close(f1);
  26. open(f2,"file2") or die "$!";
  27. while(<f2>){
  28.         chomp;
  29.         my @a = split /\s+/;
  30.         $data{fun($a[1]).$a[2]."#2"} = $_;
  31.         $d{$a[1]."#".$a[2]} = fun($a[1]).$a[2];
  32. }
  33. close(f2);
  34. sub fun(){
  35.         my $s = shift;
  36.         $s = join "", map{defined $mon{$_}?$mon{$_}:$_} reverse (split /-/, $s);
  37.         return $s;
  38. }

  39. my $S = "NULL NULL NULL 0";
  40. foreach my $t (sort {$d{$a} <=> $d{$b}} (keys %d)){
  41.         if($data{$d{$t}."#1"} && $data{$d{$t}."#2"}){
  42.                 print $data{$d{$t}."#1"}," ",$data{$d{$t}."#2"},"\n";
  43.         }
  44.         elsif($data{$d{$t}."#1"}){
  45.                 print $data{$d{$t}."#1"}," ",$S,"\n";
  46.         }else{
  47.                 print $S," ",$data{$d{$t}."#2"},"\n";
  48.         }
  49. }
复制代码

论坛徽章:
0
45 [报告]
发表于 2012-02-28 13:56 |只看该作者
辛苦,多谢!果然好人啊,CU里面有什么可以赠与的分数之类吗?我有多少送您多少,真的!回复 44# yinyuemi


   

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
46 [报告]
发表于 2012-02-28 14:20 |只看该作者
鸟鸟不哥 发表于 2012-02-28 11:47
回复 42# rdcwayx

哥们,测试了吗?我这面测了下无法通过啊。。。


如果有错,你贴上错误信息。 我这边测了,没问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP