'sort'和'sort -k'不一致

时间:2017-07-05 14:04:28

标签: linux bash sorting

输入。假设我有一个名为f的文件,其中包含以下内容:

+% H
% V

我可以用两种方式对第一列进行排序:

第一种方法:

cat f | awk '{print $1}' | sort

第二种方法:

cat f | sort -k 1 | awk '{print $1}'

输出&问题 在我看来,它必须是相同的结果,但它不是:第一个命令的输出是:

%
+%

,第二个是:

+%
%

如果我在第二个命令的第二列文件输出中交换HV会改变,但它不应该改变。稳定排序的标志不会改变任何东西。所有这些都针对bash版本进行了测试:

GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)

GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)

所以,我的问题是为什么输出会有所不同?

0 个答案:

没有答案