在学习hadoop的过程中,看到一个bash脚本使用awk分析文件数据的程序,觉得有使用意义,先单独记录下,以备以后需求和参考。
max_temperature.sh
#!/usr/bin/env bash
for year in `ls *.gz`
do
echo -ne `basename $year.gz`"\t"
gunzip -c $year | \
awk '{temp = substr($0,88,5) + 0;
q = substr($0,93,1);
if(temp!=9999 && q ~ /[01459]/ && temp > max) max=temp}
END {print max}'
done