這篇文章主要介紹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多字段排序的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯行業資訊頻道!