Linux 问题:我有data.csv
包含以下字段和值的 CSV 文件
KEY,LEVEL,DATA
2.456,2,aaa
2.456,1,zzz
0.867,2,bbb
9.775,4,ddd
0.867,1,ccc
2.456,0,ttt
...
该字段KEY
是一个浮点值,LEVEL
而是一个整数。我知道第一个字段和第二个字段可以有重复的值,但如果你把它们放在一起,你会有一对独特的。
我想要做的是根据列对文件进行排序KEY
,然后对于下的每个唯一值,KEY
只保留下具有较高值的行LEVEL
。排序不是问题:
$> sort -t, -k1,2 data.csv # fields: KEY,LEVEL,DATA
0.867,1,ccc
0.867,2,bbb
2.456,0,ttt
2.456,1,zzz
2.456,2,aaa
9.775,4,ddd
...
但是我怎样才能过滤行以便我得到我想要的,即:
0.867,2,bbb
2.456,2,aaa
9.775,4,ddd
...
有没有办法使用 , 等命令行工具来做到sort
这uniq
一点awk
?提前致谢