我正在使用 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)