Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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_Bash_Sorting_Unix_Command Line - Fatal编程技术网

Linux 以自然方式对制表符分隔的文本文件的字母数字列和数字列进行排序

Linux 以自然方式对制表符分隔的文本文件的字母数字列和数字列进行排序,linux,bash,sorting,unix,command-line,Linux,Bash,Sorting,Unix,Command Line,我正在尝试根据所有两列对文件进行排序 例如: chr19 1070019 1070020 chr16 869712 869713 chr1 1378131 1378132 chr12 189386 189387 chr4 254941 254942 chr16 1476500 1476501 chr2 1476810 1476811 chr19 313283 313284 chr17 595817 595818 chr18 656897 656898 chr19 1061829 1061830

我正在尝试根据所有两列对文件进行排序

例如:


chr19 1070019 1070020
chr16 869712 869713
chr1 1378131 1378132
chr12 189386 189387
chr4 254941 254942
chr16 1476500 1476501
chr2 1476810 1476811
chr19 313283 313284
chr17 595817 595818
chr18 656897 656898
chr19 1061829 1061830

我尝试了
sort-t$\t-k1,12,2
,但没有成功

我希望输出按照第一列和基于第一列的第二列进行排序。 我想做一种自然的。不是词汇排序

例如:


chr1 1378131 1378132
chr2 1476810 1476811
chr4 254941 254942
chr12 189386 189387
chr16 869712 869713
chr16 1476500 1476501
chr17 595817 595818
chr18 656897 656898
chr19 313283 313284
chr19 1061829 1061830
chr19 1070019 1070020


有人知道吗?

这应该会解决的

sort -k1.4,1n -k2,2n file

我试过了。我没有对第二列进行排序,而第一列是按词汇排序的。这是因为您不想按建议的数字排序。您需要自然排序,请使用
-V