返回顶部

pzzning

导航

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

 

posted on 2016-12-08 09:56  pzzning  阅读(1826)  评论(0编辑  收藏  举报