hadoop指南中bash awk命令给出错误

neskvpey  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(491)

我试着重复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

也尝试了各种改变,但都不起作用。

szqfcxe2

szqfcxe21#

那应该是

q ~ /[01459]/

您缺少终止斜杠。

相关问题