我想找到我拥有的一个巨大矩阵的最大值。我不需要职位的任何信息,只需要价值。我写了一些简单的 awk 命令,但我在这个命令上遇到了困难。
我想我可以让一个变量从第一个字段运行到 NF ,也可以从第一行到最后一行相互比较,但是我怎样才能在 awk 中编写它呢?
答案1
尝试
awk 'NR == 1 {maxi=$1;}
{for(i=1;i<=NF;i++) if ($i > maxi) maxi=$i ;}
END { print maxi;}' file
在哪里
NR==1
子句将第一行最大值初始化为第一个字段。NF
为每行设置字段数- 我假设您的字段是空白/制表符分隔的,您可能希望在子句中使用
FS=","
or 。FS=";"
BEGIN { }
- 整个命令可以放在一行中,为了便于阅读,我使用了几行。