首页 > 解决方案 > 在同一列上按数字排序,然后按字母数字排序

问题描述

我有非常大的数据要排序

所以,我的最终输出将是这样的:

1    11  
1    13
1    15
2    3
2    5
chr2   6
chr2   15
chr15   3
chr15   9

sort在unix上使用。但是,无论我尝试什么类型,我都会将chr2放在顶部或底部。以下是我尝试过的一些类型:它无法给我想要的输出:

sort -V -k1,1n -k2n final_merged.txt > merged-sort.txt
sort -k1,1n -k2n final_merged.txt > merged-sort.txt 
sort -k1,1h -k2n final_merged.txt > merged-sort.txt
sort -k1,1 -k2n final_merged.txt > merged-sort.txt

后期编辑:任何解决此问题的方法,而不会在使用时使内存过载

谢谢,

标签: pythonshellsortingubuntuunix

解决方案


尝试:

sort -k1,2 -V final_merged.txt

使用您的示例数据运行它会给我:

1    11
1    13
1    15
2    3
2    5
chr2   6
chr2   15
chr15   3
chr15   9

推荐阅读