为什么排序后选择唯一出现与单独选择唯一出现相比,会得到不同的结果?

时间:2018-09-30 22:24:27

标签: bash sorting uniq

为什么输出

uniq | wc -l

不同
sort | uniq | wc -l

哪个人真正拥有独特的出现?

1 个答案:

答案 0 :(得分:1)

它在 uniq 手册页中说明了行为,尤其是:

  

默认情况下,uniq打印其输入行,但会丢弃所有输入   但相邻的重复行中的第一个重复,因此没有输出行   重复。 (可选)它可以舍弃那些不是   重复或所有重复的行。

     

不需要对输入进行排序,但是会检测到重复的输入行   仅当它们相邻时。如果要丢弃不相邻的   重复的行,也许您想使用 sort -u 。 (请参阅排序调用)

通过在输入中不使用sort之前的uniq,就无法准确计数唯一项。