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

在shell中调用uniq并按不同顺序排序

  •  2
  • knittl  · 技术社区  · 15 年前

    在顺序上有区别吗 uniq sort 在shell脚本中调用它们时?我在这里谈论的是时间和空间方面的问题。

    grep 'somePattern' | uniq | sort
    

    grep 'somePattern' | sort | uniq
    

    对140k行文本文件的快速测试表明,第一种方法(获取uniq值,然后排序)的速度略有提高(5.5s vs 5.0s)

    但我不知道如何测量内存使用率

    现在的问题是:订单有什么不同吗?或者它依赖于从grep返回的行(多/少重复)

    3 回复  |  直到 4 年前
        1
  •  10
  •   mqp    15 年前

    我相信 sort -u sort uniq 以任意顺序单独排列。

        2
  •  9
  •   Robert Munteanu    15 年前

    命令是打电话 uniq 之后 sort ,因为

    所以应该是

    grep 'somePattern' | sort | uniq
    
        3
  •  3
  •   Sven Schott    15 年前

    uniq取决于要排序以删除重复项的项目(因为它比较上一个项目和当前项目),因此为什么排序总是在uniq之前运行。试试看。