输入。假设我有一个名为f
的文件,其中包含以下内容:
+% H
% V
我可以用两种方式对第一列进行排序:
第一种方法:
cat f | awk '{print $1}' | sort
第二种方法:
cat f | sort -k 1 | awk '{print $1}'
输出&问题 在我看来,它必须是相同的结果,但它不是:第一个命令的输出是:
%
+%
,第二个是:
+%
%
如果我在第二个命令的第二列文件输出中交换H
和V
会改变,但它不应该改变。稳定排序的标志不会改变任何东西。所有这些都针对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)
。
所以,我的问题是为什么输出会有所不同?