本文研究的主要是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多字段排序实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
暂无评论内容