sort 排序 -k的 诡异问题,求解答

herostarone 2012-07-25 08:38:26
原始数据如下:
fdasfdas 40 0 30 0
dffdfdsf 30 0 50 0
efdasfdf 30 0 40 0
fdfjksdf 20 0 40 0

执行sort -nr -k2 a.txt 后,结果如下:
fdasfdas 40 0 30 0
efdasfdf 30 0 40 0 //感觉这一行应该和第三行互换,因为50大于40嘛,即sort -nr -k2 a.txt相当于sort -nr -k2,5 a.txt
dffdfdsf 30 0 50 0
fdfjksdf 20 0 40 0

执行sort -r -k2 a.txt 后,结果如下(正常的,即按照字符排序):
fdasfdas 40 0 30 0
dffdfdsf 30 0 50 0
efdasfdf 30 0 40 0
fdfjksdf 20 0 40 0
...全文
125 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
herostarone 2012-07-25
  • 打赏
  • 举报
回复
那也应该是sort -nr -k2,2 -k4,4 a

sort -nr -k2 -k4 a这种写法等效是:
sort -nr -k2,4 -k4,4 a,也就是只有2-4列相等的时候,才会再按照第四列排序的

但是我的问题是,我的列数不固定,通过脚本读入,不能直接这么写

[Quote=引用 1 楼 的回复:]
哪里出来个字段5,我擦了。

sort -nr -k2 -k4 a

这样就行了。
[/Quote]
qq120848369 2012-07-25
  • 打赏
  • 举报
回复
哪里出来个字段5,我擦了。

sort -nr -k2 -k4 a

这样就行了。

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧