linux sort多字段排序详解

小云云
小云云asal
2018-02-11 10:43:343640semak imbas

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

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

chr13 3008566 3008677
chr9 3024384 3024515
chr19 3157071 3157172
chr5 3236386 3236476
chr13 3041044 3041191
chr12 3045343 3045532
chr6 3087308 3087625
chr5 3109870 3110091
chr9 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拖拽组件

js 各种排序方法和sort方法的区别详解

实例详解JavaScript数组排序reverse()和sort()方法

Atas ialah kandungan terperinci linux sort多字段排序详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Linux下RPM打包流程分享Artikel seterusnya:linux下svn常用命令分享