代码之家  ›  专栏  ›  技术社区  ›  BlackLotus

在Unix中对唯一列排序

  •  1
  • BlackLotus  · 技术社区  · 7 年前

    我已经寻找了很长时间的答案,但似乎还没有得到答案。如果这个问题已经得到回答,我真的很抱歉。

    所以我试着把每个ID的出场次数从高到低排序。

    通过以下命令: sort -k1,1 File.txt | uniq -c 我得到了这个结果:

    1 21423 
    3 21447
    5 21448
    3 21513
    1 21584 
    1 21585
    1 21586
    

    我想要的结果是:

    5 21448
    3 21447
    3 21513
    1 21423 
    1 21584 
    1 21585
    1 21586
    

    即使我输入了,它也会对第二列进行排序 -k1,1 -n . 任何线索都会帮我很大的忙。提前感谢!

    1 回复  |  直到 7 年前
        1
  •  0
  •   janos slartidan    7 年前

    您需要对的输出进行排序 uniq -c :

    ... | uniq -c | sort -nr
    

    当您想按计数对行排序时, 在打电话之前,物品是如何分类的并不重要 uniq-c , 因为只有在调用 uniq-c .