使用排序功能的结果不一致

时间:2018-12-12 19:26:57

标签: sorting unix

请注意以下几点:我有两个文件,分别具有9列和10列,其第1列中的值完全相同。两个文件之间的第1列顺序不同,所以我想按列对两个文件进行排序1,以便我可以对齐它们并将它们连接到19列文件中。

如果要按列1排序,通常使用“ sort -k 1,1 -g”。我已经做过数百次了,但是我从来没有遇到过问题。

这是有史以来第一次,尽管使用了相同的命令,sort函数仍为两个文件提供了不同的输出:

sort -k 1,1 -g file1.txt | head

rs1000000 12 126890980 G A 0.772687 0.999152 -6.53289e-05 0.000341777 
rs10000003 4 57561647 A G 0.298872 0.997534 -0.000308206 0.000313536 
rs10000005 4 85161558 G A 0.468352 0.994261 0.000392384 0.000287513 
rs10000010 4 21618674 T C 0.517001 0.986406 -0.000387116 0.000288364 
rs10000011 4 138223055 C T 0.957162 0.987603 -0.000466108 0.000710431 
rs10000012 4 1357325 C G 0.85952 0.999131 -0.000544182 0.000412222 
rs10000017 4 84778125 C T 0.777348 0.989758 0.00024644 0.000345697 
rs10000018 4 100458448 A G 0.707724 0.999129 -5.96813e-05 0.000315027 
rs10000021 4 159441457 G T 0.185355 0.99682 0.000127756 0.000369005 
rs1000002 3 183635768 C T 0.513401 1 -0.000269255 0.000286993 3.5E-01

sort -k 1,1 -g file2.txt | head

rs10000003 G A 0.707825 1.010846 0.015580 0.980310 1.042333 0.490663
rs10000005 A G 0.550104 0.988740 0.014283 0.960744 1.017551 0.439681
rs1000000 G A 0.780117 0.987172 0.017380 0.953108 1.022454 0.471168
rs10000010 C T 0.503288 1.009101 0.014611 0.980464 1.038574 0.537391
rs10000011 C T 0.950554 0.997444 0.026380 0.945740 1.051976 0.924913
rs10000012 C G 0.866931 0.966905 0.021645 0.924482 1.011276 0.141498
rs10000017 C T 0.791953 1.003966 0.019870 0.965021 1.044483 0.844517
rs10000018 A G 0.699162 1.006137 0.014434 0.977846 1.035245 0.674194
rs10000021 T G 0.827782 0.991092 0.021206 0.949529 1.034474 0.682292
rs10000023 T G 0.579281 1.024738 0.014014 0.997270 1.052962 0.077937

尽管命令相同,为什么会发生这种情况?我特别困惑,因为我以前从未遇到过。

谢谢您的任何建议。

琥珀

0 个答案:

没有答案