awk 不打印想要的东西

Awk not printing what is wanted

我的尝试:

awk ' != "AZ" && max< || NR==1{ max=; data=[=10=] } END{ print data }' USA.txt

我正在尝试打印那一行 第 4 列中没有“AZ” 和第 6 列中的最大值

文件有 6 列 名字姓氏town/city state-abv。邮编分数

Shellstrop Eleanor Phoenix AZ 85023 -2920765
Shellstrop Donna Tarantula_Springs NV 89047 -5920765
Mendoza Jason Jacksonville FL 32205 -4123794
Mendoza Douglas Jacksonville FL 32209 -3193274 
Peleaz Steven Jacksonville FL 32203 -3123794 

根据您的尝试,请尝试以下 awk 代码。这将检查第 4 个字段是否不是 AZ,然后它将 max 的先前值与 $6 的当前值进行比较,如果它大于先前的值,则它将当前的 $6 分配给 max,否则将其保持为先前的值。在 awk 程序的 END 块中打印其值。

awk -v max="" '!="AZ"{max=(max>?max:)} END{print max}' Input_file

要打印找到的最大值的完整行将是:

awk -v max="" '!="AZ"{max=(max>?max:);arr[]=[=11=]} END{print arr[max]}' Input_file