#!/usr/bin/env bash
for year in all/*
do
    echo -ne `basename $year .gz`"\t"
    gunzip -c $year | \
    awk '{ temp = substr($0, 88, 5) + 0;
          quality = substr($0, 93, 1);
          if (temp !=9999 && quality ~ /[01459]/ && temp > max) max = temp }
        END { print max }'
done
我正在遵循Hadoop-Definite Guide 4th Edition中的练习。我已经完成了第一项练习,并且可以使用,但是我不理解质量的含义〜/ [01459] /。

最佳答案

根据http://www.math.utah.edu/docs/info/gawk_5.html



因此,如果quality ~ /[01459]/包含truequality14中的任何一个,则59

关于hadoop - 在awk中使[01459]感到困惑,这是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32508920/

10-12 23:47