首页 > 解决方案 > 使用多行查找文件行中的最高值

问题描述

我有一个包含不同行的文件,并希望从第二列开始在每一行中查找并输出最高值。可以在 bash 或 awk 中使用吗?

例如文件具有这种格式结构

136 0.369326 0.004999
137 0.003199 0.140172 0.055189 0.047191 0.520696 0.172565
138 0.000400 0.021596 0.095381 0.179164 0.065187
...
等等”

我想要以下输出

136 0.369326
137 0.520696
138 0.179164
... 等等

谢谢

标签: bashperlawk

解决方案


在您标记问题的所有工具中,这当然是可能的。例如,在 Perl 中,这是微不足道的。

但是 Stack Overflow 不是代码编写服务,您没有向我们证明您编写了任何代码来解决问题,所以我不会给您提供解决方案。这里有一些伪代码,您可以将其用作解决方案的设计。

WHILE you can read a line from the file
  SPLIT the input record on whitespace
  PRINT the first element of the split record
  CALCULATE the maximum value of the remaining element
  PRINT the maximum value
END WHILE

所以你需要知道如何做以下事情:

  • 从文件中读取数据记录
  • 在空格上拆分字符串
  • 打印数据
  • 在值列表中查找最大值

推荐阅读