【发布时间】:2015-09-02 22:22:25
【问题描述】:
我有一个大文件 (50 GB),我想计算其中不同行出现的次数。通常我会使用
sort bigfile | uniq -c
但文件足够大,排序需要大量的时间和内存。我可以的
grep -cfx 'one possible line'
对于文件中的每个唯一行,但这意味着 n 会为每个可能的行遍历文件,这(虽然对内存更友好)比原来的要花费更长的时间。
有什么想法吗?
A related question 询问一种在大文件中查找唯一行的方法,但我正在寻找一种方法来计算每个行的实例数-- 我已经知道可能的线路是什么了。
【问题讨论】:
-
可以说这是stackoverflow.com/questions/3502177/…的退化案例; stackoverflow.com/a/22250460/14122 的答案几乎与我们已经拥有的完全一样,只是选择一列而不是使用整行。
标签: bash shell uniq gnu-toolchain linux-toolchain