Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.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/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
linux实用程序是如何运行的;排序“;工作(为什么它不能按我认为应该的方式工作?)_Linux_Sorting - Fatal编程技术网

linux实用程序是如何运行的;排序“;工作(为什么它不能按我认为应该的方式工作?)

linux实用程序是如何运行的;排序“;工作(为什么它不能按我认为应该的方式工作?),linux,sorting,Linux,Sorting,我有两个文本文件: $ cat /tmp/test1 "AAP" bar "AEM" bar "AA" bar "AEO" bar "A" bar $ cat /tmp/test2 "AEM" foo "AAP" foo "A" foo "AEO" foo "AA" foo 我想把它们分类 $ sort /tmp/test1 "AA" bar "AAP" bar "A" bar <-- "A" is in position 3 "AEM" bar "AEO"

我有两个文本文件:

$ cat /tmp/test1
"AAP" bar
"AEM" bar
"AA" bar
"AEO" bar
"A" bar

$ cat /tmp/test2
"AEM" foo
"AAP" foo
"A" foo
"AEO" foo
"AA" foo
我想把它们分类

$ sort /tmp/test1
"AA" bar
"AAP" bar
"A" bar              <-- "A" is in position 3
"AEM" bar
"AEO" bar

$ sort /tmp/test2
"AA" foo
"AAP" foo
"AEM" foo
"AEO" foo
"A" foo              <-- "A" is in position 5
$sort/tmp/test1
“AA”酒吧
“AAP”栏

默认情况下,“A”条排序将在整行上运行,并以特定于区域设置的方式运行,某些区域设置会忽略某些字符(您的案例中的引号和空格)。要了解发生了什么,请尝试--debug选项。即比较和对比:

sort --debug /tmp/test[12]
LC_ALL=C sort --debug /tmp/test[12]
sort --debug -k1,1 /tmp/test[12]
LC_ALL=C sort --debug -k1,1 /tmp/test[12]

顺便说一句,您可以添加-s选项,以避免使用最后的排序来简化--debug输出。

我投票将此问题作为离题题题结束,因为它属于unix.stackexchange.com相关: