Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按列排序linux_Linux_Sorting - Fatal编程技术网

按列排序linux

按列排序linux,linux,sorting,Linux,Sorting,我有一个列如下的文件: chr1 91.4062 chr10 97.9150 chr11 116.7630 chr12 106.7870 chr13 116.1050 chr14 126.2180 chr15 110.2320 chr16 96.8076 chr17 113.5970 chr18 86.1011 chr19 130.6770 chr2 111.4620 chr20 68.4864 chr21 107.0810 chr22 140.7750 chr23 110.9590

我有一个列如下的文件:

chr1  91.4062
chr10  97.9150
chr11 116.7630
chr12 106.7870
chr13 116.1050
chr14 126.2180
chr15 110.2320
chr16  96.8076
chr17 113.5970
chr18  86.1011
chr19 130.6770
chr2 111.4620
chr20  68.4864
chr21 107.0810
chr22 140.7750
chr23 110.9590
chr24  68.4785
chr25 102.2080
chr26  72.2762
chr27  96.2213
chr28  85.5570
chr29 126.3800
chr3 116.1830
chr30  89.5663
chr31  89.1227
chr32 128.6190
chr4 117.3620
chr5  78.1921
chr6  85.4915
chr7 107.2620
chr8 112.9560
chr9  69.0250
chrX  66.0736
我想根据第1列对其进行排序,输出应如下所示:

chr1 91.4062
chr2 111.4620
chr3 116.1830
chr4 117.3620
chr5 78.1921
chr6 85.4915
chr7 107.2620
chr8 112.9560
chr9 69.0250
chr10 97.9150
chr11 116.7630
chr12 106.7870
chr13 116.1050
chr14 126.2180
chr15 110.2320
chr16 96.8076
chr17 113.5970
chr18 86.1011
chr19 130.6770
chr20 68.4864
chr21 107.0810
chr22 140.7750
chr23 110.9590
chr24 68.4785
chr25 102.2080
chr26 72.2762
chr27 96.2213
chr28 85.5570
chr29 126.3800
chr30 89.5663
chr31 89.1227
chr32 128.6190
chrX 66.0736

任何使用linux命令的解决方案都会很有帮助。

sort-V
为了拯救:

sort -V file
人工分拣

-V,--版本排序

文本中(版本)编号的自然排序


如果在
排序
命令中没有
-V
选项,则有另一种选择:按从第4个字符(
-k1.4
)开始的第一列排序,然后按数字排序(
-n

在这两种情况下,输出如下:

chrX  66.0736
chr1  91.4062
chr2 111.4620
chr3 116.1830
chr4 117.3620
...
chr26  72.2762
chr27  96.2213
chr28  85.5570
chr29 126.3800
chr30  89.5663
chr31  89.1227
chr32 128.6190

它说,排序:无效选项--V@user1779730检查我的更新答案,有一个替代方案。它有效。但是它在开头给出了chrX,应该在结尾。@user1779730如果您想要这种行为,请使用支持
sort-v
的sort命令。如您所见,使用
-k
-n
的替代方案确实将字符置于数字之前。
chrX  66.0736
chr1  91.4062
chr2 111.4620
chr3 116.1830
chr4 117.3620
...
chr26  72.2762
chr27  96.2213
chr28  85.5570
chr29 126.3800
chr30  89.5663
chr31  89.1227
chr32 128.6190