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

  • 相关阅读:
    中国天气网数据获取
    雪球数据的定时爬取
    爬虫下载中间件
    简书全站CrawlSpider爬取 mysql异步保存
    房天下新房和二手房
    多线程
    selenium+chromdriver 动态网页的爬虫
    汽车之家下载文件和图片
    re正则
    532.数组中的K-diff数对
  • 原文地址:https://www.cnblogs.com/hpf311/p/2705209.html
Copyright © 2011-2022 走看看