Macos `uniq`未按预期工作
我有一个名为“test.txt”的文件,它如下所示:Macos `uniq`未按预期工作,macos,bsd,uniq,Macos,Bsd,Uniq,我有一个名为“test.txt”的文件,它如下所示: 10 10 10 8 10 9 10 10 9 10 8 出于某种原因,当我运行uniq test.txt时,我得到了以下输出: 10 8 10 9 10 9 10 8 为什么我得到这个输出?我正在使用BSD uniq。程序中有什么bug吗?我不是专家,但我很确定uniq只比较相邻的行。我不必经常使用它,但在我的系统上运行man uniq时,我得到: uniq实用程序通过比较相邻行读取指定的输入_文件, 并将每个唯一输入行的副本写入输出文
10
10
10
8
10
9
10
10
9
10
8
出于某种原因,当我运行uniq test.txt
时,我得到了以下输出:
10
8
10
9
10
9
10
8
为什么我得到这个输出?我正在使用BSD uniq。程序中有什么bug吗?我不是专家,但我很确定uniq只比较相邻的行。我不必经常使用它,但在我的系统上运行man uniq时,我得到: uniq实用程序通过比较相邻行读取指定的输入_文件, 并将每个唯一输入行的副本写入输出文件。如果 输入文件为单破折号(`-')或不存在,则读取标准输入。 如果没有输出_文件,则将标准输出用于输出。第二 并且不写入相同相邻输入行的后续副本。 如果输入中的重复行不是adja,则不会检测到它们- ,因此可能需要先对文件进行排序 因此,它们必须相邻才能被检测到。因此,报告一再重复。它们与相邻的线路不同,这就是uniq实际测试的全部内容
希望有帮助。让我知道,如果我遗漏了什么,我其实也有点好奇。正是这样:
uniq
的前提是输入被排序(或者它会做一些与tin上说的有点不同的事情)。这就是为什么经常使用sort-u
——它用一个进程完成两个步骤。uniq
只比较相邻的行。这是规定。我使用排序-u
。