Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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
redhat linux排序的奇怪行为_Linux_Sorting - Fatal编程技术网

redhat linux排序的奇怪行为

redhat linux排序的奇怪行为,linux,sorting,Linux,Sorting,Redhat linux,要排序的文件-“aaa”: 4.AAA;456 3.BBB;567 2.AAA;123 1.BBB;234 5.AAA;000 仅按第二个字段排序-命令: 排序-t”;“-k2,2 aaa 输出为: 2.AAA;123 4.AAA;456 5.AAA;000 1.BBB;234 3.BBB;567 我认为输出应该是: 4.AAA;456 2.AAA;123 5.AAA;000 3.BBB;567 1.BBB;234 排序错误?可能还有其他原因,但我猜这是您的“意见”,因

Redhat linux,要排序的文件-“aaa”:
4.AAA;456
3.BBB;567
2.AAA;123
1.BBB;234
5.AAA;000

仅按第二个字段排序-命令:
排序-t”;“-k2,2 aaa

输出为:
2.AAA;123
4.AAA;456
5.AAA;000
1.BBB;234
3.BBB;567

我认为输出应该是:
4.AAA;456
2.AAA;123
5.AAA;000
3.BBB;567
1.BBB;234


排序错误?

可能还有其他原因,但我猜这是您的“意见”,因为您认为对于具有相等键的记录,文件中首先遇到的应该是输出中的第一个

这就是所谓的“稳定排序”

稳定排序可能需要更多的工作,并且在大多数情况下不需要,因此默认情况下,sort命令不会执行此操作。这就是你看到的结果

如果您希望,它可以这样做:

$ sort --stable --field-separator=";" --key="2,2" aaa
4;AAA;456
2;AAA;123
5;AAA;000
3;BBB;567
1;BBB;234

可能还有其他原因,但我猜这是您的“意见”,因为您认为对于具有相等键的记录,文件中首先遇到的应该是输出中的第一个

这就是所谓的“稳定排序”

稳定排序可能需要更多的工作,并且在大多数情况下不需要,因此默认情况下,sort命令不会执行此操作。这就是你看到的结果

如果您希望,它可以这样做:

$ sort --stable --field-separator=";" --key="2,2" aaa
4;AAA;456
2;AAA;123
5;AAA;000
3;BBB;567
1;BBB;234
是的,添加“-s”选项有帮助-非常感谢:)我认为应该是默认值:)是的,添加“-s”选项有帮助-非常感谢:)我认为应该是默认值:)