Linux sort 多字段分组排序

常用参数:

  • -t: 指定分隔符
  • -k: 指定域
  • -u: 去除重复行
  • -n: 以数值排序
  • -r: 降序排序 (sort默认的排序方式是升序)
  • -o: 结果重定向输出到文件

1、源文件:

 1 # cat hhh 
 2 Nov 1 : 4548
 3 Nov 2 : 1383
 4 Oct 2 : 3738
 5 Oct 3 : 4181
 6 Nov 4 : 1383
 7 Nov 14 : 1383
 8 Nov 11 : 1381
 9 Nov 12 : 1381
10 Oct 4 : 4105
11 Oct 5 : 4089

2、按照第1列分组,第二列排序:

  • -k1,1 指定以第一列为关键字排序
  • -k2n,2 指定以第二列为关键字做数据排序
 1 # sort -k1,1 -k2n,2 hhh 
 2 Nov 1 : 4548
 3 Nov 2 : 1383
 4 Nov 4 : 1383
 5 Nov 11 : 1381
 6 Nov 12 : 1381
 7 Nov 14 : 1383
 8 Oct 2 : 3738
 9 Oct 3 : 4181
10 Oct 4 : 4105
11 Oct 5 : 4089

3、按照第1列分组,再按照第4列分组,最后第2列降序排列排序:

 1 # sort -k1,1 -k4n,2 -k2rn,3 hhh 
 2 Nov 12 : 1381
 3 Nov 11 : 1381
 4 Nov 14 : 1383
 5 Nov 4 : 1383
 6 Nov 2 : 1383
 7 Nov 1 : 4548
 8 Oct 2 : 3738
 9 Oct 5 : 4089
10 Oct 4 : 4105
11 Oct 3 : 4181

 

转载于:https://www.cnblogs.com/pzzning/p/6143774.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值