我使用此脚本来打印第二列的最大值:
2700
文件:
304+153+525+784+175+759 = 2700
结果:
awk 'BEGIN{a= 0}{if ($2>a) a=$2 fi} END{print a}' file
但是第二栏中的数字更大。 我得到了这个数字,即使输入中不包含它。
答案 0 :(得分:1)
awk
本身并不是一种不同的语言,您在逻辑上纠正了只有语法fi
不应该存在的情况,请尝试:
awk 'BEGIN{a=0}{if($2>a){a=$2}} END{print a}' Input_file
或者您可以简单地使用条件运算符,如下所示在第二个字段中设置get Maximum值,如下所示:
awk '{a=$2>a?$2:a} END{print a}' Input_file
说明: OP已经在正确的轨道上,创建一个变量并检查每行的条件(如果当前行的第二个字段大于该变量的值,然后分配变量)值保留给第二字段,否则保持原样。然后在此程序的END
部分中打印变量值。