加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

对Linux中的多个列进行顺序排列的一个案例分析

发布时间:2023-10-17 11:34:24 所属栏目:Linux 来源:
导读:本文研究的主要是linux sort多字段排序,具体介绍如下。Linux多数发行版自带的sort程序,非常强大,在此只说多字段排序sort 有个参数-k,可以指定字段,有比较复杂的语法,不在文本范围内。一下为一段数据(从基因中

本文研究的主要是linux sort多字段排序,具体介绍如下。

Linux多数发行版自带的sort程序,非常强大,在此只说多字段排序

sort 有个参数-k,可以指定字段,有比较复杂的语法,不在文本范围内。

一下为一段数据(从基因中得到,仅仅作为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

以上就是本文关于linux sort多字段排序实例解析的全部内容,希望对大家有所帮助。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章