我有一个名为" 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。程序中是否存在某种错误?
答案 0 :(得分:4)
我不是专家,但我非常确定uniq只比较相邻的行。我不必经常使用它,但在我的系统上运行man uniq:
uniq实用程序读取比较相邻行的指定input_file, 并将每个唯一输入行的副本写入output_file。如果 input_file是一个短划线(` - ')或不存在,读取标准输入。 如果output_file不存在,则使用标准输出进行输出。第二 不写入相同的相邻输入行的后续副本。 如果它们不是相邻的,则不会检测到输入中的重复行 分,所以可能需要先对文件进行排序。
所以他们必须相邻才能被发现。因此,重复报道。它们与相邻的线路不同,并且所有uniq实际上都在测试。
希望有所帮助。 Lemme知道我是否错过了什么,我实际上也有点好奇。