我有一个名为“ test.txt”的文件,看起来像这样:
10
10
10
8
10
9
10
10
9
10
8
Run Code Online (Sandbox Code Playgroud)
由于某种原因,当我运行时uniq test.txt,我得到了以下输出:
10
8
10
9
10
9
10
8
Run Code Online (Sandbox Code Playgroud)
为什么我得到此输出?我正在使用BSD uniq。程序中是否存在某种错误?
我不是专家,但是我敢肯定uniq只比较相邻的行。我不必经常使用它,但是在我的系统上运行man uniq我得到:
uniq实用程序读取比较相邻行的指定input_file,并将每个唯一输入行的副本写入output_file。如果input_file为单破折号(`-')或不存在,则读取标准输入。如果不存在output_file,则将标准输出用于输出。相同相邻输入行的第二个及后续副本未写入。如果输入的重复行不相邻,则不会检测到它们,因此可能有必要先对文件进行排序。
因此,它们必须相邻才能被检测到。因此,重复的报告。它们不同于相邻的行,这是uniq实际测试的所有内容。
希望能有所帮助。Lemme知道我是否错过了任何事情,实际上我也很好奇。
| 归档时间: |
|
| 查看次数: |
1854 次 |
| 最近记录: |