Bash 在具有多行的文件行中查找最高值

Bash 在具有多行的文件行中查找最高值,bash,perl,awk,Bash,Perl,Awk,我有一个包含不同行的文件,希望从第二列开始查找并输出每行中的最高值。在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 ... and so on" 136 0.369326 0.004999 137 0.003199

我有一个包含不同行的文件,希望从第二列开始查找并输出每行中的最高值。在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 ... and so on" 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 ... and so on 136 0.369326 137 0.520696 138 0.179164 等等
谢谢

在您标记问题的所有工具中,这当然是可能的。例如,在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
因此,您需要知道如何执行以下操作:

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

当您为Perl添加标签时:

!/usr/bin/perl
严格使用;
使用警告;
使用列表::Util qw(最大值);
而(){
咀嚼;
我的($key,@number)=拆分(/\s+/);
打印“${key}\t”,最大(@numbers),“\n”;
}
__资料__
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
试运行:

$perl dummy.pl
136     0.369326
137     0.520696
138     0.179164
Perl一行程序

$ cat stephane.txt
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

$ perl -lane ' @x=sort {$a<$b} @F[1..$#F]; print "$F[0] $x[0]" ' stephane.txt
136 0.369326
137 0.520696
138 0.179164

$
$cat stephane.txt
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

$perl-lane'@x=sort{$aCan请发布您的帖子,向我们展示您已经拥有的代码,并告诉我们它是如何无法实现您想要的功能的?您好,谢谢大家的帮助。我用bash和awk标记perl语言,因为我认为找到简单问题的解决方案会更容易。我不是程序员(但我尽量用我所知道的bash/awk语言或可能的fortran语言)通过为我提供perl方法方面的帮助,您帮助了我很多,更重要的是,我学到了很多。如果我还有类似的问题,您编写的代码将帮助我。再次感谢您