Bash Awk命令在Hadoop指南中给出了错误

时间:2013-07-29 20:52:52

标签: bash hadoop awk

我试图重新说明Hadoop的例子权威指南,而不是它出错的地方。

#!/usr/bin/env bash
for year in /home/*
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

我得到的错误是

awk: cmd. line:1: {temp = substr($0, 88, 5) + 0; q = substr($0, 93, 1); if (temp !=9999 && q ~ /[01459] && temp > max) max = temp }
awk: cmd. line:1:                                                                                                                   ^ unexpected newline or end of string
awk: cmd. line:2:                         END {print max}
awk: cmd. line:2:                                        ^ unexpected newline or end of string

还尝试了各种更改,但它无法正常工作。

1 个答案:

答案 0 :(得分:0)

那应该是

q ~ /[01459]/

您缺少终止斜杠。