linux sort多字段排序詳解

linux多數發行版自帶的sort程序,非常強大,在此只說多字段排序,sort 有個參數-k,可以指定字段,有比較復雜的語法,不在文本范圍內。本文主要和大家介紹了linux sort多字段排序實例解析,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下,希望能幫助到大家。

一下為一段數據(從基因中得到,僅僅作為demo),文件名為 data

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

vue-slicksort一個vue.js拖拽組件

vue-slicksort一個vue.js拖拽組件

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享