我的csv看起来像这样:
user, score
bob, 10
alice, 12
peter, 20
bruce, 32
...
该文件非常大,我希望获得得分最高的前50位用户。
如何使用简单的shell命令执行此操作?
答案 0 :(得分:4)
你可能想说:
sort -t',' -k2 -nr file
对于您的给定输入,它返回:
bruce, 32
peter, 20
alice, 12
bob, 10
user, score
这会使用sort
这些参数:
-t','
将字段分隔符设置为逗号。-k2
表示sort
必须使用第二列。-nr
表示您希望以数字方式排序并在r
正面排序(首先是最高位)。要获得前50名,您可以输入head -50
,这将获得上一个命令输出的前50行:
sort -t',' -k2 -nr file | head -50