`uniq`没有按预期工作

时间:2014-10-08 01:51:01

标签: 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。程序中是否存在某种错误?

1 个答案:

答案 0 :(得分:4)

我不是专家,但我非常确定uniq只比较相邻的行。我不必经常使用它,但在我的系统上运行man uniq:

  

uniq实用程序读取比较相邻行的指定input_file,        并将每个唯一输入行的副本写入output_file。如果        input_file是一个短划线(` - ')或不存在,读取标准输入。        如果output_file不存在,则使用标准输出进行输出。第二        不写入相同的相邻输入行的后续副本。        如果它们不是相邻的,则不会检测到输入中的重复行        分,所以可能需要先对文件进行排序。

所以他们必须相邻才能被发现。因此,重复报道。它们与相邻的线路不同,并且所有uniq实际上都在测试。

希望有所帮助。 Lemme知道我是否错过了什么,我实际上也有点好奇。