你可能不知道的Linux/GNU bash sort多列排序功能

本文介绍了Linux下sort命令的高级用法,特别是如何使用-k选项进行多列排序,并提供了一个具体的例子来展示如何按姓名和成绩排序。此外还解释了sort命令的一些常见选项。

(转载请注明原创于潘多拉盒子)

Linux man pages的缺点就是,如果你不会用某个命令,那么看完了多半还是不会。原因是,没有例子!比较囧吧?

sort是提供了多列排序的功能的。通过-k选项,可以搞出来若干个排序列组,每个组内按照指定的原则排序,优先级从高到低。

比如一个文件内容如下:

Tom  Mathematics  95

Jack  Mathematics  99

Tom  Physics  78

Jack  Physics  65

 

如果想将同一个名字的不同科目的分数按从高到低排列起来,那么就是

sort -k1,1 -k3nr,3 

 

是不是很神奇呢?

 

每一个-k选项指定了一个排序列组,逗号左边的数字是起始列,逗号右边的数字是结束列号(从1开始),其余的选项为specs。比如-n表示按数字排序,-r表示反向(从高到低)排序。

 

有些说明文档给出来的是错误的,请注意哈。

 

 

 

转载于:https://www.cnblogs.com/bqzhao/p/3507378.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值