Unix awk命令BEGIN和END语法错误

时间:2018-02-20 18:43:40

标签: linux unix

我不确定我的命令有什么问题。说“语法错误”。我试图找到我的文本文件中最大的数字并将其打印出来。 这是我的代码。

   awk'{ BEGIN{max=0}
   for(i=1;i<=NF;i++)
   {
   max < $i {max = $i}
   }
   END{print max}}' textfile.txt

这是我得到的错误

   BEGIN{max =0}
   ^ syntax error
   END{print max}
   ^ snytax error.

提前致谢。

3 个答案:

答案 0 :(得分:1)

尝试:

awk '
    BEGIN{max=0}
    {
        for(i=1;i<=NF;i++) {
            if (max < $i) {max = $i}
        }
   }
   END{print max}
' textfile.txt

答案 1 :(得分:1)

如果你的textfile.txt中有字母,你想跳过这些:

grep -Po "\b[0-9]+\b" textfile.txt | sort -rn | head -1

答案 2 :(得分:1)

更改为

awk' BEGIN{max=0}
   {
   for(i=1;i<=NF;i++)
   {
   max < $i {max = $i}
   }
   }
   END{print max}' textfile.txt