uniq -c 用于计算文件中的重复行不起作用

uniq -c for counting duplicate lines in a file not working

我有一个名为 test.txt 的文件,其中包含以下文本。

red: 8-17-20
red: 8-17-20
red: 8-18-20
blue: 8-18-20
blue: 8-18-20
blue: 8-18-20
red: 8-18-20
red: 8-18-20
red: 8-19-20
red: 8-19-20
blue: 8-19-20
red: 8-19-20
blue: 8-19-20
blue: 8-19-20
blue: 8-18-20

我已经阅读了很多关于如何计算重复行的可能答案,其中大部分都指向我使用 uniq -c

我使用了以下命令 sort test.txt | uniq -c,我得到的结果是这样

      4 blue: 8-18-20
      3 blue: 8-19-20
      2 red: 8-17-20
      3 red: 8-18-20
      3 red: 8-19-20

为什么我没看到

      2 red: 8-17-20
      3 red: 8-18-20
      3 blue: 8-18-20
      3 red: 8-19-20
      4 blue: 8-19-20

谁能帮我理解我做错了什么?

你在进来的路上排序,但你也想在出去的路上排序。

$ sort test.txt | uniq -c | sort -n
      2 red: 8-17-20
      3 blue: 8-19-20
      3 red: 8-18-20
      3 red: 8-19-20
      4 blue: 8-18-20

请注意 3 blue 排在 3 red 之前。