萨拉姆, 我需要一个 shell 脚本来获取 txt 文件中如下所示的数据
8.0 5.2 6.6 4.0 1.6
7.1 8.0 2.3 7.2 2.8
4.0 3.0 2.0 5.0 2.1
并给出最大值之和作为输出,这意味着每行的最大值之和,这是对于 max 第一行 8、max 第二行 8 和 max 最后行 5 上面的矩阵,我想要结果 21,即 (8+8+5),非常感谢
最佳答案
老实说,我更希望看到问题中描述的一些努力,但无论如何我都需要 awk
实践。
你可以使用一个简单的循环来做到这一点;
awk '{max=$1;for(i=2;i<=NF;i++)if($i>max)max=$i;sum=sum+max;}END{print sum+0}'
它基本上只是循环遍历每行的所有列以获得最大值,然后将其总结为 sum
。
END
部分在文件完全处理完毕后运行并仅打印总和。
关于Linux:每行的最大值之和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21729866/