linux sort多字段排序实例解析
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>总结</li></ul></div><p>
本文研究的主要是linux sort多字段排序,具体介绍如下。</p>
<p>
Linux多数发行版自带的sort程序,非常强大,在此只说多字段排序</p>
<p>
sort 有个参数-k,可以指定字段,有比较复杂的语法,不在文本范围内。</p>
<p>
一下为一段数据(从基因中得到,仅仅作为demo),文件名为 data</p>
<blockquote>
<p>
chr13 3008566 3008677<br>
chr9 3024384 3024515<br>
chr19 3157071 3157172<br>
chr5 3236386 3236476<br>
chr13 3041044 3041191<br>
chr12 3045343 3045532<br>
chr6 3087308 3087625<br>
chr5 3109870 3110091<br>
chr9 3115454 3115531</p>
</blockquote>
<p>
字段中间以空格分开</p>
<p>
现在想首先按照染色体进行排序,然后相同的染色体上的基因按起始位点进行排序,那么这就是一个多字段的排序,而且第二个字段为数字,使用sort命令如下</p>
<p>
<code>sort -t ' ' -k1,1 -k2n,2 data</code></p>
<p>
其中 -t ' ' 指定使用空格分列</p>
<ul>
<li>
-k1,1 指定以第一列为关键字排序</li>
<li>
-k2n,2 指定以第二列为关键字做数据排序</li>
</ul>
<p>
也可以使用</p>
<p>
<code>sort +0 -1 +1n -2</code></p>
<p>
效果是一样的。</p>
<p>
排序结果</p>
<blockquote>
<p>
chr12 3045343 3045532<br>
chr13 3008566 3008677<br>
chr13 3041044 3041191<br>
chr19 3157071 3157172<br>
chr5 3109870 3110091<br>
chr5 3236386 3236476<br>
chr6 3087308 3087625<br>
chr9 3024384 3024515<br>
chr9 3115454 3115531</p>
</blockquote>
<p class="maodian"></p><h2>
总结</h2>
<p>
以上就是本文关于linux sort多字段排序实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!</p>
<p>
原文链接:http://blog.csdn.net/abcd1f2/article/details/51199557</p>
頁:
[1]