zoukankan      html  css  js  c++  java
  • shell脚本awk

    最近在hadoop上跑同步的问题, awk脚本神器也是学了一下。 

    虽然看起来好像比较慢, 但是效果真的很不错。 

    主要是在hadoop上求差集的操作。

    一类的格式是objurl

    另外一类的格式是 objurl  \t seg1 \t seg2

          或者 objurl  \t seg3

    规则是第二类 减去 第一类的差集。  同时需要根据objurl去重。  去重的时候需要  尽量选择seg3这种。 在同种之类随机选择。 

    脚本如下:

    BEGIN {
      first = "";
      second = "";
      third = "";
      yes = 1;
    }

    {

    if(first != $1){
      if(yes == 0){
        print first"\t"second"\t"third
      }
      if($2==""){
        yes = 1;
      }
      else{
        yes = 0;
      }
    }

    if(yes == 0){
      if($2 != "" && $3 == ""){
        print $0
        yes = 1;
      }
    }

    first = $1;
    second = $2;
    third = $3;
    }


    END{
    if(yes == 0){
      print first"\t"second"\t"third
    }
    }

    然后又深入看了下AWK脚本。 感觉真的很神奇,加上grep 和sed  简直就是文本处理神器。 在数据处理这方面一定要具备使用shell脚本的能力,搜索水很深。 

  • 相关阅读:
    1059. C语言竞赛(20)
    1057. 数零壹(20)
    1056. 组合数的和(15)
    1054. 求平均值 (20)
    1052. 卖个萌 (20)
    1053. 住房空置率 (20)
    第五周课后作业02(动手动脑)
    课堂动手动脑
    课后作业
    课堂测试动手动脑
  • 原文地址:https://www.cnblogs.com/hpf311/p/2705209.html
Copyright © 2011-2022 走看看