小编j s*_*ith的帖子

根据不同的第一列查找所有列的最大值

我正在使用 Ubuntu,我有一个这样的输入文件

ifile.dat
1   10  15
3   34  20
1   4   22
3   32  33
5   3   46
2   2   98
4   20  100
3   13  23
4   50  65
1   40  76
2   20  22
Run Code Online (Sandbox Code Playgroud)

我如何实现这一目标?

ofile.dat
1   40  76
2   20  98
3   34  33
4   50  100
5   3   46
Run Code Online (Sandbox Code Playgroud)

我的意思是通过比较第一列来获得每列的最大值。谢谢。

这是我尝试过的(在具有 13 列的示例文件上)。但最高值不会以这种方式出现。

cat input.txt | sort -k1,1 -k2,2nr -k3,3nr -k4,4nr -k5,5nr -k6,6nr -k7,7nr -k8,8nr -k9,9nr -k10,10nr -nrk11,11 -nrk12,12 -nrk13,13 | sort -k1,1 -u 
Run Code Online (Sandbox Code Playgroud)

它没有用。所以一个乐于助人的人试图在下面帮助我。但是无论是在mac还是ubuntu上用gawk,我都无法运行并看到下面的错误

awk …
Run Code Online (Sandbox Code Playgroud)

awk text-processing gawk

2
推荐指数
1
解决办法
360
查看次数

标签 统计

awk ×1

gawk ×1

text-processing ×1