• 主页
  • 系统维护与使用
  • 应用程序开发
  • 内核源代码
  • 驱动程序开发
  • CPU和硬件区
  • UNIX文化
  • Solaris
  • Power Linux

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
...全文
54 点赞 收藏 2
写回复
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

这样就行了。
回复 点赞
发动态
发帖子
Linux/Unix社区
创建于2007-08-27

7062

社区成员

7.3w+

社区内容

Linux/Unix社区 应用程序开发区
社区公告
暂无公告