2016-09-14 16 views

回答

3
$ cat /tmp/a 
A:2 B:9 
A:9 B:12 
A:32 B:23 
A:2 B:3 
A:21 B:33 

$ sort -t: -k3rn /tmp/a | head -1 
A:21 B:33 
+1

即使你得到了正確的答案,這是不是按'B:'後面的數字排序 –

+0

@DawidGrabowski是的,但我利用了'B:'在第二列的所有元素中都是共有的事實。 –

+0

這並不重要。看看你在沒有管道的情況下得到了什麼。 –

4

使用awk的,你可以做到這一點的一個命令,而無需排序,可以是非常昂貴的大文件:

awk -F'[: ]+' '$4>max{max=$4; line=$0} END{print line}' file 

A:21 B:33 
2

其他選項的sed

sort -k1.9,1.10 -rn file | head -1 

按第9和第10個字符排序(在B:之後)