linux sort多字段排序详解

linux多数发行版自带的sort程序,非常强大,在此只说多字段排序,sort 有个参数-k,可以指定字段,有比较复杂的语法,不在文本范围内。本文主要和大家介绍了linux sort多字段排序实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下,希望能帮助到大家。

一下为一段数据(从基因中得到,仅仅作为demo),文件名为 data

chr13 3008566 3008677chr9 3024384 3024515chr19 3157071 3157172chr5 3236386 3236476chr13 3041044 3041191chr12 3045343 3045532chr6 3087308 3087625chr5 3109870 3110091chr9 3115454 3115531

字段中间以空格分开

现在想首先按照染色体进行排序,然后相同的染色体上的基因按起始位点进行排序,那么这就是一个多字段的排序,而且第二个字段为数字,使用sort命令如下

sort -t ‘ ‘ -k1,1 -k2n,2 data

其中 -t ‘ ‘ 指定使用空格分列

  • -k1,1 指定以第一列为关键字排序

  • -k2n,2 指定以第二列为关键字做数据排序

也可以使用

sort +0 -1 +1n -2

效果是一样的。

排序结果

chr12 3045343 3045532
chr13 3008566 3008677
chr13 3041044 3041191
chr19 3157071 3157172
chr5 3109870 3110091
chr5 3236386 3236476
chr6 3087308 3087625
chr9 3024384 3024515
chr9 3115454 3115531

相关推荐:

vue-slicksort一个vue.js拖拽组件

vue-slicksort一个vue.js拖拽组件

vue-slicksort一个vue.js拖拽组件

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享