我的 bash 脚本中有这一行。
#Trying to find the FIRST maximum in the column $10
awk 'BEGIN{max=0} {if($10>=max){max=$10} else{exit}} END{print NR}'
它有效。
但我需要更复杂的东西(出于另一个目的)。我需要 awk 来检查下一行和上一行的值是否高于实际值(类似这样):
awk 'BEGIN{max=0} {if($10[NR]>=max && $10[NR-1]>=$10[NR] && $10[NR+1]>=$10[NR] ){max=$10} else{exit}} END{print NR}'
但它不起作用,可能是因为我不知道如何处理列中的位置。你能帮我吗?
澄清:
我只想完整读取一列(第 10 列)并找到在前一行和下一行中具有更高值的行号。例如,如果列的值为 1,2,3,4,1,2,那么我想获得行号“5”(对应于数据中的第二个 1),因为它是列中的行旁边有两个更高的值。