【发布时间】:2013-03-25 17:09:22
【问题描述】:
有没有办法通过命令行工具过滤掉文件中所有唯一的行而不对行进行排序?我想基本上这样做:
sort -u myFile
没有排序的性能影响。
【问题讨论】:
-
渐近地,重复删除的下限是 O(nlogn)。
-
@gongzhitaao:仅限于固定空间时。使用哈希表可以在 O(n) 时间内删除重复项,但需要花费 O(n) 空间。
-
@chepner 完全正确。似乎甚至可以通过使用哈希表来实现
-u标志,从而导致sort跳过排序。 -
或者至少最后进行排序。
标签: linux bash shell command-line