Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.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
Macos `uniq`未按预期工作_Macos_Bsd_Uniq - Fatal编程技术网

Macos `uniq`未按预期工作

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实用程序通过比较相邻行读取指定的输入_文件, 并将每个唯一输入行的副本写入输出文

我有一个名为“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实用程序通过比较相邻行读取指定的输入_文件, 并将每个唯一输入行的副本写入输出文件。如果 输入文件为单破折号(`-')或不存在,则读取标准输入。 如果没有输出_文件,则将标准输出用于输出。第二 并且不写入相同相邻输入行的后续副本。 如果输入中的重复行不是adja,则不会检测到它们- ,因此可能需要先对文件进行排序

因此,它们必须相邻才能被检测到。因此,报告一再重复。它们与相邻的线路不同,这就是uniq实际测试的全部内容


希望有帮助。让我知道,如果我遗漏了什么,我其实也有点好奇。

正是这样:
uniq
的前提是输入被排序(或者它会做一些与tin上说的有点不同的事情)。这就是为什么经常使用
sort-u
——它用一个进程完成两个步骤。
uniq
只比较相邻的行。这是规定。我使用
排序-u