我真的需要你帮忙完成这项任务。我有以下文本文件:
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
你可以帮帮我吗?非常感谢!!!
答案 0 :(得分:0)
要使用过时的语法,您可能需要设置一个环境变量来启用它:
_POSIX2_VERSION=201112 sort +0.6 -1.9 -s setup.txt > sorted.txt
或使用现代语法:
sort -k1.7 -k1.8 -s setup.txt > sorted.txt
答案 1 :(得分:0)
使用0.n
表示法排序时(不含-k
),请回想一下第一列中的第一个字符编号为0.0
,并且规范1.n
表示由字段分隔符值(defualt space char)定义的第二列数据,也可以设置为-t":"
(不在您的示例中)。
所以我认为你的问题的解决方案是(使用你熟悉的语法)
sort +0.6 -0.7 -s setup.txt > sorted.txt
#---------^^^^^--- note change here
抱歉,我现在没办法测试这个。
我希望这会有所帮助。