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脚本的能力,搜索水很深。 

  • 相关阅读:
    nginx启动,停止,重启
    获取节点与属性
    修改节点的属性 节点默认不允许修改
    删除节点与属性
    创建属性Attribute
    新增节点NewBook并增加属性Name="WPF"
    创建xml树
    HashTable Queue Stack SortedList BitArray
    ArrayList详细
    sqlserver 优化
  • 原文地址:https://www.cnblogs.com/hpf311/p/2705209.html
Copyright © 2011-2022 走看看