-1

我真的需要你的帮助来完成这项任务。我有以下文本文件:

0001030111
0011030611
0003030113 
0002030112          
0006030311
0004030114       
0007030311
0012030612

我想对第 7 列和第 8 列的结果进行排序,以获得类似的结果:

0001030111
0003030113
0002030112
0004030114
0006030311
0007030311
0011030611
0012030612
      ^^
      Sort by these positions.

但是使用:

排序 +0.6 -1.9 -s setup.txt > sorted.txt

我得到的东西没有按我想要的顺序出现。(请参见下文)

0001030111
0002030112
0003030113
0004030114
0007030311
0006030311
0011030611
0012030612

你能帮我解决这个问题吗?太谢谢了!!!

4

2 回答 2

0

使用0.n符号(不带-k)进行排序时,请回想第一列中的第一个字符是 numbered 0.0,并且规范1.n意味着由字段分隔值(默认空格字符)定义的第二列数据,也可以设置喜欢-t":"(不是在你的例子中)。

所以我认为您的问题的解决方案是(使用您熟悉的语法)

sort +0.6 -0.7 -s setup.txt > sorted.txt
#---------^^^^^--- note change here

对不起,但我现在没有任何方法可以测试这个。

我希望这有帮助。

于 2012-06-12T19:50:26.963 回答
0

要使用过时的语法,您可能需要设置一个环境变量来启用它:

_POSIX2_VERSION=201112 sort +0.6 -1.9 -s setup.txt > sorted.txt

或使用现代语法:

sort -k1.7 -k1.8 -s setup.txt > sorted.txt
于 2012-06-12T18:37:46.700 回答