本文研究的主要是linux sort多字段排序,具體介紹如下。
Linux多數(shù)發(fā)行版自帶的sort程序,非常強(qiáng)大,在此只說多字段排序
sort 有個(gè)參數(shù)-k,可以指定字段,有比較復(fù)雜的語法,不在文本范圍內(nèi)。
一下為一段數(shù)據(jù)(從基因中得到,僅僅作為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
字段中間以空格分開
現(xiàn)在想首先按照染色體進(jìn)行排序,然后相同的染色體上的基因按起始位點(diǎn)進(jìn)行排序,那么這就是一個(gè)多字段的排序,而且第二個(gè)字段為數(shù)字,使用sort命令如下
sort -t ' ' -k1,1 -k2n,2 data
其中 -t ' ' 指定使用空格分列
- -k1,1 指定以第一列為關(guān)鍵字排序
- -k2n,2 指定以第二列為關(guān)鍵字做數(shù)據(jù)排序
也可以使用
sort +0 -1 +1n -2
效果是一樣的。
排序結(jié)果
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
總結(jié)
以上就是本文關(guān)于linux sort多字段排序?qū)嵗馕龅娜績(jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
原文鏈接:http://blog.csdn.net/abcd1f2/article/details/51199557