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相关: